2011-11-28 29 views
1

我一直在搜索StackOverflow和谷歌搜索结果来找到这个,但没有运气筛选所有的信息。如何使用Graph API和PHP为Facebook页面(选项卡)应用添加管理员/设置页面?

我已经为Facebook页面做了一个应用程序,作为一个标签添加。该应用程序的设置需要根据Facebook页面的设置进行设置,该设置会添加到一个ID中以匹配应用中呈现的数据和模板。但是,我无法获取有关页面ID的信息以及用户是否是我的应用中该页面的管理员。

我正在使用Facebook的PHP SDK,但即使这些例子似乎已被弃用,因为Facebook转移到他们的Graph API。而且我无法找到关于如何请求信息的示例代码或文档。

这是我的代码(使用SDK 3.1.1):

require_once 'inc/facebook-php-sdk/src/facebook.php'; 
$fb_app_id = "............"; 
$fb_app_secret = "..................."; 


$facebook = new Facebook(array(
     'appId' => $fb_app_id, 
     'secret' => $fb_app_secret, 
     'cookie' => true 
)); 


// Facebook magic sauce... 
$fb_signed_request = $facebook->getSignedRequest(); 

$fb_page_id = $fb_signed_request["page"]["id"]; 
$fb_like_status = $fb_signed_request["page"]["liked"]; 
$fb_is_admin = ($fb_signed_request["page"]["admin"]==1)?TRUE:FALSE; 

当管理员(我)第一次访问该页面时,我得到“管理”的参数组为1,但是当我点击在应用程序(iframe)中的任何链接上信息不会传递,因此如果我链接到管理页面,它将评估为false。

关于此主题的所有信息都是针对不推荐使用的方法,我甚至无法弄清楚它将如何与Graph API协同工作。我真的很感激一些帮助,甚至只是在正确的方向点......

回答

0

我不知道的ü想什么100%,但是:

  1. 如果妳希望在您的应用程序不同userlevels (如管理员,主持人,用户),那么你应该最好使用存储uder_id + level的数据库,然后设置一个php会话变量。

  2. 做一个var_dump的fb_signed_request你看到管理下的任何值?

+0

嗯,这个问题有点古老 - 当用户第一次点击标签时,我使用管理检查结束。然后发送页面> admin param,并显示设置页面。 – Calle

相关问题