获取用户为管理员的页面

Posted

技术标签:

【中文标题】获取用户为管理员的页面【英文标题】:Getting the pages that the user is administrator 【发布时间】:2012-03-09 17:16:11 【问题描述】:

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

【问题讨论】:

您需要提供比这更多的信息:-/ 有任何示例代码吗? 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

使用Facebooks FQL 和Graph API,您可以使用uid 索引对page_admin 表进行查询以引用您的用户。

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

另一种选择:

/me/accounts Graph 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": "***'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 返回“当前用户拥有的应用程序和页面”;因此,您将获得的结果必须进行过滤,删除所有应用程序条目,或者提取仅类别参数的非“应用程序”值。

【讨论】:

以上是关于获取用户为管理员的页面的主要内容,如果未能解决你的问题,请参考以下文章

Sonata Admin:获取所有页面的下拉列表

是否仍然可以使用 Graph API 作为页面发布到粉丝页面?

java ee如何实现不同权限的用户登陆看到的页面不一样?

管理页面上的动态字段 - Postgres 和 MongoDB

2019/08/22最新进展

java里面如何在用户登录管理页面时判断用户是不是登录