所以我知道如何检查每个页面以获取所有订阅的应用程序的列表。
但我想得到我的应用实时更新订阅的所有页面的列表?
所以我试过这个 https://graph.facebook.com/v2.5/ $ APP_ID /订阅?=的access_token $ app_token
但这只会带回应用程序的基本信息。
我想要一个已订阅的网页列表?
有人可以帮忙吗?
答案 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"
}
]
}
]
}