web-dev-qa-db-ja.com

Facebook Messenger API:現在のユーザーに関する情報をクエリするには、アクティブなアクセストークンを使用する必要があります

私はここで開発ガイドに従っています: https://developers.facebook.com/docs/messenger-platform/quickstart

サーバーとWebhookをセットアップしました。 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トークンバリデーターを使用して、トークンの有効期限が切れていないことを検証しました。

私はこれでどんな助けにも感謝します。

8
kaid

エラーメッセージは、charボットと通信している現在のユーザーに関する情報をクエリしようとしたことを示しています。ユーザー情報を提供するAPIエンドポイントは次のとおりです。

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

また、ドキュメントに従って、このエンドポイントに対して(POSTではなく)GETリクエストを行う必要があります。

User Profile APIの人の名前またはプロフィール写真を使用して、会話をパーソナライズできます。この情報を取得するには、 https://graph.facebook.com/v2.6/ ?fields = first_name、last_name、profile_pic&access_token =にGETリクエストを送信します。詳細については、SendAPIリファレンスをご覧ください。 https://developers.facebook.com/docs/messenger-platform/implementation#user_profile_api

3
Mukarram Khalid

「access_token:PAGE_ACCESS_TOKEN」ではなく「BearerPAGE_ACCESS_TOKEN」の値で「Authorization」ヘッダーを設定してみてください

3
Baldor