如何在iframe应用程序中获取Facebook页面ID(C#)
问题描述:
我创建了一个简单的Facebook iframe应用程序,用作页面上的选项卡。它一切正常,但我现在需要获取使用该选项卡的页面的ID,以便我可以显示特定于该页面的信息。如何在iframe应用程序中获取Facebook页面ID(C#)
我在文档中看到在signedrequest中有一个名为“ProfileId”的值,它应该是我正在寻找的页面的id,但是每次尝试使用我遇到的signedrequest所以我显然不明白我需要做什么。
有人可以解释我如何获得页面ID?我不希望用户必须授权应用程序,因为我对他们的任何信息不感兴趣,我只想显示该标签所在的页面的ID。
答
<?php
include "facebook.php"; //Facebook PHP SDK
$app_id = "APP_ID_HERE"; // Your application id
$app_secret = "APP_SECRET_HERE"; // Your application secret
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
$signedrequest = $facebook->getSignedRequest();
$page_id = $signedrequest["page"]["id"];
$is_admin = $signedrequest["page"]["admin"];
$is_liked = $signedrequest["page"]["liked"];
echo "Page id: ". $page_id;
?>
答
可以在FacebookWebContext.Current.SignedRequest.Data使用的信息:
if (FacebookWebContext.Current.SignedRequest != null)
{
dynamic data = FacebookWebContext.Current.SignedRequest.Data;
if (data.page != null)
{
var pageId = (String)data.page.id;
var isUserAdmin = (Boolean)data.page.admin;
var userLikesPage = (Boolean)data.page.liked;
}
else
{
// not on a page
}
}
这不是.NET解决方案 – Fabrice 2011-04-27 23:08:47