从图 returns 中获取 ids_for_pages 为空

Getting ids_for_pages from Graph returns empty

我在 Messenger 中跨应用程序和机器人连接人们时遇到了一些问题。

https://developers.facebook.com/docs/messenger-platform/connecting-accounts

我已经将我的开发者 Facebook 应用程序(带有 Facebook 登录和 Messenger 产品)与页面以及页面相关联。

我的 objective 在我的服务器中,能够通过应用程序中的登录用户识别 Messenger 用户。因此,当用户使用 Messenger 时,将获得与在应用程序中相同的体验。

问题是:当我尝试从图中获取 ids_for_pages 时,它 returns 数据为空,即使在该用户与机器人对话之后也是如此。

图 GET (v2.10)

/{user_login_id}/ids_for_pages?access_token={user_login_access_token}&appsecret_proof={appsecret_proof}

{"data": []}

当我使用 Page-Scoped ID 时,我可以获得 ids_for_apps(很好,如果用户已经登录到我的应用程序,我可以使用它来匹配用户),但是如果用户与机器人交谈,然后转到我的应用程序,我认为我无法匹配用户。 我还使用 token_for_business 调查了业务映射 API,但用户节点是必需的。在应用程序中很棒,但我无法通过页面范围 ID 获取用户令牌或用户节点。

https://developers.facebook.com/docs/apps/for-business

我是不是做错了什么?缺少权限?我的机器人已经上线并且有 pages_messaging.

任何指导都有帮助!感谢您的宝贵时间!

编辑

正如amuramoto所说,我用错了access_token。它必须和我在 ids_for_apps.

中使用的一样
/{user_login_id}/ids_for_pages?access_token={page_access_token}&appsecret_proof={appsecret_proof}

把这个放在这里以防将来有人遇到这个问题。

您没有使用正确的访问令牌。文档中的示例显示调用 ids_for_pages 需要页面范围的访问令牌,而不是用户访问令牌。