2011-02-01 113 views
3

我创建了一个简单的Facebook iframe应用程序,用作页面上的选项卡。它一切正常,但我现在需要获取使用该选项卡的页面的ID,以便我可以显示特定于该页面的信息。如何在iframe应用程序中获取Facebook页面ID(C#)

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

有人可以解释我如何获得页面ID?我不希望用户必须授权应用程序,因为我对他们的任何信息不感兴趣,我只想显示该标签所在的页面的ID。

回答

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; 

?> 
+5

这不是.NET解决方案 – Fabrice 2011-04-27 23:08:47

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 
    } 
} 
相关问题