使用MessengerPageScopedID访问图形API

Pii*_*Pii 4 bots facebook-graph-api facebook-messenger

最近,我一直在测试信使平台.到目前为止,一切都很好,但我希望获得更多关于用户的信息,而不仅仅是基本的个人资料信息.当用户通过Messenger与您交谈时,您会得到一个特定的userId,根据我的理解,这不仅是页面范围的,而且是信使范围的.在messenger文档中,有一个示例调用用户配置文件API,如下所示:

curl -X GET "https://graph.facebook.com/v2.6/<USER_ID>?fields=first_name,last_name,profile_pic,locale,timezone,gender&amp;access_token=<PAGE_ACCESS_TOKEN>"
Run Code Online (Sandbox Code Playgroud)

但是,即使我的应用程序具有user_events权限,我也无法访问相应的图形api节点.

curl -X GET "https://graph.facebook.com/v2.6/<USER_ID>/events?fields=id,name&amp;access_token=<PAGE_ACCESS_TOKEN>"
Run Code Online (Sandbox Code Playgroud)

返回如下错误:

{
    message: '(#100) Tried accessing nonexisting field (events) on node type (MessengerPageScopedID)',
    type: 'OAuthException',
    code: 100,
    fbtrace_id: 'E+ramLeapT5'
}
Run Code Online (Sandbox Code Playgroud)

我经常不使用graph-api,可能是因为我的页面仍处于开发状态并且没有"已批准的项目"类别的权限?有没有办法将messenger-scoped id链接到一个更简单的页面范围或应用程序范围的id,我可以使用它来进行这种调用?也许有自定义入口点?

小智 6

除了使用此特殊令牌的public_profile字段之外,您无法访问任何其他内容.访问用户事件端点需要user_events权限,并且由于用户无需登录到您的应用程序以向您发送消息页面,因此除了用户的public_profile字段之外,无法检索访问任何内容的权限.