使用MessengerPageScopedID访问图形API

时间:2016-05-09 00:12:07

标签: facebook-graph-api bots facebook-messenger

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

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

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

返回如下错误:

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

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

1 个答案:

答案 0 :(得分:6)

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

相关问题