【发布时间】:2021-05-01 15:06:37
【问题描述】:
众所周知,在Facebook for Developers界面中,您可以如下图将Facebook Pages添加到Facebook App中并生成Page Access Token。
我正在尝试通过 API 请求以编程方式执行此操作。不幸的是,我没有在请求的文档中找到如何执行此操作。
到目前为止我做了什么?
- 我可以通过
Facebook Login(Documentation) 获得User ID和User Access Token。 - 我可以得到一个人拥有的
Facebook Pages的列表。在回复中,我有Page ID和Page Access Token(Documentation)。 - 我的 Facebook 应用程序处于开发模式。该应用程序有
App ID和App Secret。有了这些值,我可以得到App Access Token(Documentation)。 - 我可以使用
App ID和App Access Token(Documentation) 将Webhook设置为Facebook 应用程序。 - 我可以为我的 Facebook 应用 (Documentation) 设置
Webhook Subscriptions Fields。
问题:我应该使用哪种 API 请求将 Facebook 主页添加到 Facebook 应用程序?
我的请求清单:
- 我将
Page ID和Page Access Token与此 GET 请求一起使用,因为此请求返回一个人拥有的Facebook Pages列表:
https://graph.facebook.com/v9.0/{user-id}/accounts?access_token={user-access-token}
- 我在我的
Facebook App中设置了Webhook与此POST请求:
它成功运行,我在Dashboard 接口的“Webhook”块中看到了这个 Webhook。
- 然后我发出这个 POST 请求来设置
Webhook Subscriptions Fields:
在这个请求中,我从第一步开始使用Page ID 和Page Access Token。
不幸的是,我有这样一个错误信息:
要订阅消息字段,这些权限之一是 需要:pages_messaging
【问题讨论】:
-
如果您已经能够生成页面访问令牌,那么您现在还期望发生什么?您认为在那里“添加”一个页面实际上还能做什么?
-
@CBroe 你好!正如我之前所说,我可以获得一个人拥有的 Facebook 页面列表。在回复中,我有Page Access Token,但这还不够。您需要将 Facebook 应用程序链接到 Facebook 页面。将来,通过 Facebook 应用程序,我想管理用户通过 Facebook Messenger 写入 Facebook 页面的所有对话。你有什么想法吗?
-
除了订阅 webhooks 更新之外,您还真的需要什么吗?
-
@CBroe 也许我不完全理解某些事情。在我的帖子中,您可以看到第一个屏幕截图。它是我的 Facebook 应用程序的“Facebook Messenger”产品中的“访问令牌”块。如您所见,它是空的。据我了解,这意味着我的 Facebook 应用程序与任何 Facebook 页面都没有任何联系。如果客户写信给我的 Facebook 页面,我的 Facebook 应用程序将不会知道。由于 Facebook 页面和 Facebook 应用程序之间没有联系。不是吗?如果我遗漏了什么,请纠正我。
-
“如果客户写信给我的 Facebook 页面,我的 Facebook 应用程序不会知道。” - 要通知您的应用程序,您需要订阅来自通过 webhook 的页面。以及如何通过 API 做到这一点,在您自己已经发布的最后两个文档链接中进行了说明。
标签: facebook facebook-graph-api facebook-apps facebook-page facebook-messenger-bot