【发布时间】:2017-07-28 11:09:23
【问题描述】:
我在 Messenger 中跨应用和机器人连接人们时遇到了一些问题。
https://developers.facebook.com/docs/messenger-platform/connecting-accounts
我已经将我的开发人员 Facebook 应用(与 Facebook 登录和 Messenger 产品)关联到 Business 以及页面。
我的目标是让我的服务器能够通过应用程序中的登录用户来识别信使用户。因此,当用户访问 Messenger 时,将获得与应用程序相同的体验。
问题是:当我尝试从图中获取 ids_for_pages 时,它返回的数据为空,即使在该用户与机器人交谈之后也是如此。
图表 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(如果用户已经登录到我的应用程序,我可以使用它来匹配用户),但是如果用户与bot 然后转到我的应用程序,我认为我无法匹配用户。
我还使用token_for_business 研究了业务映射 API,但它是必要的用户节点。在应用中很棒,但我无法通过 Page-Scoped 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需要app acess token,而不是用户访问令牌。 -
时机几乎完美!一些测试和稍后阅读我也注意到了这一点。确实不是正确的令牌!!!我将登录令牌作为错误的 access_token。由于没有错误消息,我没有注意到。无论如何感谢您的回答amuramoto!你完全正确!
-
这里的user_login_id是指哪个id?图 ID 还是应用 ID?还有如何生成 appsecret_proof。
标签: facebook facebook-graph-api facebook-messenger-bot