如何在iframe应用程序中获取Facebook页面ID(C#)

时间:2011-02-01 13:49:45

标签: facebook-c#-sdk

我创建了一个简单的facebook iframe应用程序,用作页面上的标签页。一切正常但我现在需要获取使用选项卡的页面的ID,以便我可以显示特定于该页面的信息。

我在文档中看到在signedrequest中有一个名为“ProfileId”的值,它应该是我正在寻找的页面的id,但每次我尝试使用signedrequest时遇到问题所以我显然不明白我需要做什么。

有人可以解释我如何获取页面ID吗?我不希望用户必须对应用程序进行授权,因为我对他们的任何信息都不感兴趣,我只想要选项卡出现的页面的ID。

2 个答案:

答案 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
  }
}