Facebook图形api。如何列出我的应用订阅的所有页面?

时间:2016-04-01 19:25:36

标签: facebook-graph-api

所以我知道如何检查每个页面以获取所有订阅的应用程序的列表。

但我想得到我的应用实时更新订阅的所有页面的列表?

所以我试过这个 https://graph.facebook.com/v2.5/ $ APP_ID /订阅?=的access_token $ app_token

但这只会带回应用程序的基本信息。

我想要一个已订阅的网页列表?

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

这看起来不可能。

您正在使用的端点 - https://developers.facebook.com/docs/graph-api/reference/v2.8/app/subscriptions - 是获取应用程序webhooks列表(callback_url和更改类型),由于某种原因称为订阅。它不是关于订阅此webhook的页面(或者通常是这个应用程序)。

总体而言,即使在您的应用的https://developers.facebook.com/apps/内,也可以在Messenger选项卡,您只能看到订阅此应用程序的所有页面的子集。可见子集受您的Facebook用户帐户权限限制,可能只显示您是管理员或编辑者的页面。

因此,如果可以进行此类调用,它也会以某种方式与用户访问令牌绑定,而不仅仅是应用程序令牌。

答案 1 :(得分:-1)

您可以在此处执行此操作:https://developers.facebook.com/tools/explorer

记录后,您可以单击右键并选择"获取用户访问令牌"。您至少需要manage_pages或pages_show_list权限才能完成此任务。

现在,您所要做的就是调用此端点:/ me / accounts。

它应列出您应用中的所有订阅页面。

希望它有所帮助。

答案 2 :(得分:-1)

按照 https://developers.facebook.com/docs/facebook-login/access-tokens/#apptokens 它是可能的(图表api):

GET /oauth/access_token
?client_id={app-id}
&client_secret={app-secret}
&grant_type=client_credentials

然后/<app_id>/subscriptions

返回类似的内容:

{
  "data": [
    {
      "object": "application",
      "callback_url": "https:...",
      "active": true,
      "fields": [
        {
          "name": "ads_rules_engine",
          "version": "v2.9"
        }
      ]
    },
    {
      "object": "page",
      "callback_url": "https://...",
      "active": true,
      "fields": [
        {
          "name": "leadgen",
          "version": "v2.5"
        }
      ]
    }
  ]
}