我创建了一个简单的facebook iframe应用程序,用作页面上的标签页。一切正常但我现在需要获取使用选项卡的页面的ID,以便我可以显示特定于该页面的信息。
我在文档中看到在signedrequest中有一个名为“ProfileId”的值,它应该是我正在寻找的页面的id,但每次我尝试使用signedrequest时遇到问题所以我显然不明白我需要做什么。
有人可以解释我如何获取页面ID吗?我不希望用户必须对应用程序进行授权,因为我对他们的任何信息都不感兴趣,我只想要选项卡出现的页面的ID。
答案 0 :(得分:3)
<?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;
?>
答案 1 :(得分:1)
您可以使用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
}
}