Facebook Messenger API:必须使用活动访问令牌来查询有关当前用户的信息

时间:2016-04-20 23:54:01

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

我在这里关注开发指南:https://developers.facebook.com/docs/messenger-platform/quickstart

我已经设置了我的服务器和webhooks。当我尝试向facebook图形api发出POST请求时,我得到以下响应:

{"response":{"statusCode":400,"content":"{\"error\":{\"message\":\"An active access token must be used to query information about the current user.\",\"type\":\"OAuthException\",\"code\":2500,\"fbtrace_id\":\"GHWSIH8OBGm\"}}","headers":{"www-authenticate":"OAuth \"Facebook Platform\" \"invalid_request\" \"An active access token must be used to query information about the current user.\"","access-control-allow-origin":"*","pragma":"no-cache","cache-control":"no-store","facebook-api-version":"v2.6","expires":"Sat, 01 Jan 2000 00:00:00 GMT","content-type":"text/javascript; charset=UTF-8","x-fb-trace-id":"GHWSIH8OBGm","x-fb-rev":"2296043","vary":"Accept-Encoding","x-fb-debug":"4KebPKo5T+Al/88Z7DWtZ8ROawIB3cZFLp65OVi/soTB6hOHstvXox5czalYj45FdI+2r+MQwNh9PHur5uGSbQ==","date":"Wed, 20 Apr 2016 23:45:26 GMT","transfer-encoding":"chunked","connection":"keep-alive"},"data":{"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException","code":2500,"fbtrace_id":"GHWSIH8OBGm"}}}}

我正在使用应用页面提供的页面访问令牌。我使用fb令牌验证器来验证令牌是否已过期。

我很感激任何帮助。

2 个答案:

答案 0 :(得分:3)

错误消息显示您正在尝试查询有关与您的char bot通信的当前用户的信息。 提供用户信息的API端点是:

https://graph.facebook.com/v2.6/USER_ID_HERE?fields=first_name,last_name,profile_pic&access_token=PAGE_ACCESS_TOKEN_HERE

根据文档,您需要向此终点发出GET请求(而不是POST)。

  

您可以使用User Profile API中的人员姓名或个人资料照片来个性化对话。要获取此信息,请向https://graph.facebook.com/v2.6/发送GET请求?fields = first_name,last_name,profile_pic& access_token =。阅读Send API参考中的更多详细信息。   https://developers.facebook.com/docs/messenger-platform/implementation#user_profile_api

答案 1 :(得分:3)

尝试设置"授权"带有值的标题"承载者PAGE_ACCESS_TOKEN"而不是" access_token:PAGE_ACCESS_TOKEN"