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

kai*_*aid 7 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"}}}}
Run Code Online (Sandbox Code Playgroud)

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

我很感激任何帮助.

Muk*_*lid 3

该错误消息表明您正在尝试查询有关当前用户与您的 char 机器人通信的信息。提供用户信息的API端点是:

https://graph.facebook.com/v2.6/USER_ID_HERE?fields=first_name,last_name,profile_pic&access_token=PAGE_ACCESS_TOKEN_HERE
Run Code Online (Sandbox Code Playgroud)

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

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