获取用户是管理员的页面

时间:2012-02-18 16:31:56

标签: php facebook access-token

我正在寻找一种方法来列出给定用户是管理员的所有页面。这可能吗?如果是这样,我应该在哪里看?

2 个答案:

答案 0 :(得分:1)

不确定您要完成的任务。如果您想提示用户将您的应用添加到管理员的页面,您可以通过javascript SDK进行操作。 (https://developers.facebook.com/docs/reference/dialogs/add_to_page/)

否则,您需要使用FQL查询信息。 (https://developers.facebook.com/docs/reference/fql/page_admin/)

答案 1 :(得分:1)

您需要获得用户的manage_pages权限才能访问此信息。

使用Facebooks FQLGraph API,您可以使用page_admin索引查询uid表,以引用您的用户。

https://graph.facebook.com/me/fql?q=SELECT page_id, type from page_admin WHERE uid=me()

另一种选择:

/me/accounts图谱API端点
user endpoint下的Graph API文档中,有关于accounts连接的详细信息:

  

当前用户拥有的Facebook应用和页面。

您还需要获得用户的manage_pages权限。

以下是对该端点的调用的示例输出:

https://graph.facebook.com/me/accounts?access_token=ABC

...
    {
      "name": "Unicorn Ville", 
      "access_token": "XXX", 
      "category": "Application", 
      "id": "123"
    }, 
    {
      "name": "StackOverflow'em Poker", 
      "access_token": "YYY", 
      "category": "Application", 
      "id": "456"
    }, 
    {
      "name": "The Official Bausley Page", 
      "access_token": "zzz", 
      "category": "Non-profit organization", 
      "id": "789"
    }, 
...

请注意,/me/accounts会返回当前用户拥有的“应用和网页”;因此,您将获得的结果将被过滤,删除所有应用程序条目,或者仅提取类别参数的非“应用程序”值。