0

在我们的应用中,我们希望用户能够通过 Facebook 进行身份验证,并能够在我们的应用中与他们的 Facebook 页面访问者聊天(webhook / Send API)。

我们能够获取页面访问令牌,但是在使用页面访问令牌将我们的 Facebook 应用程序订阅到页面时遇到问题。

步骤如下:

  1. 用户发起认证

    https://www.facebook.com/dialog/oauth?client_id=[client_id]&redirect_uri=[redirect_uri]&state=[state]&scope=publish_pages,manage_pages,pages_messaging

  2. 用户访问令牌的交换代码

    /v2.7/oauth/access_token?client_id=[client_id]&redirect_uri=[redirect_uri]&client_secret=[client_secret]&code=[code]

  3. 使用用户令牌获取页面(和页面访问令牌)

    /v2.7/me/accounts?access_token=[user_access_token]

  4. 使用获得的页面访问令牌将我们的应用订阅到 Facebook 页面

    /v2.7/me/subscribed_apps?access_token=[page_access_token]

这就是我们遇到麻烦的地方。第 4 步的响应是:

(#230) 需要权限 pages_messaging 才能注册 webhook 以获取消息或传递

所有 API 调用都使用 v2.7,并且 manage_pages、publish_pages 和 pages_messaging 权限都已获得应用程序的批准。

关于我们所缺少的任何想法或帮助?

4

1 回答 1

0

pages_messaging仅从 API v2.7 开始可用

您正在对登录对话框进行非版本化调用,因此它将回退到您的应用可以使用的最低 API 版本。如果那不是 2.7,您的请求尝试pages_messaging将被忽略。

在登录对话框调用中指定 API 版本:

https://www.facebook.com/v2.7/dialog/oauth?…
                         ^^^^
于 2016-08-04T11:58:10.283 回答