Facebookの拡張ページトークンのドキュメントに記載されている手順に従って、有効期限のないページアクセストークンを取得できました。
特に明記されていない限り、これらすべての手順でGraph API Explorerを使用することをお勧めします。
0. Facebookアプリを作成する
すでにアプリをお持ちの場合は、手順1に進んでください。
- マイアプリに移動します。
- 「+新しいアプリを追加」をクリックします。
- ウェブサイトアプリをセットアップします。
アクセス許可などを変更する必要はありません。あなたはあなたのアクセストークンを使い終わる前に消えないアプリが必要です。
1.ユーザーの短期間のアクセストークンを取得する
- Graph API Explorerに移動します。
- アクセストークンを取得するアプリケーションを選択します([マイアプリ]メニューではなく、[アプリケーション]ドロップダウンメニューで)。
- [トークンの取得]> [ユーザーアクセストークンの取得]をクリックします。
- ポップアップの[拡張権限]タブで、[manage_pages]を確認します。
- 「アクセストークンを取得」をクリックします。
- ターゲットページを管理するアクセス権を持つFacebookアカウントからアクセス権を付与します。このユーザーが最後のアクセス権を失うと、有効期限のないアクセストークンが機能しなくなる可能性があることに注意してください。
[アクセストークン]フィールドに表示されるトークンは、有効期間が短いアクセストークンです。
2.長期間有効なアクセストークンを生成する
以下の手順に Facebookのドキュメントから、にGET要求を行います
https://graph.facebook.com/v2.10/oauth/access_token?grant_type=fb_exchange_token&client_id= {app_id}&client_secret = {app_secret}&fb_exchange_token = {short_lived_token}
アプリのIDとシークレット、および前のステップで生成された有効期間の短いトークンを入力します。
あなたは、グラフAPI Explorerを使用することはできません。なんらかの理由で、このリクエストでスタックします。それは、応答がJSONではなく、クエリ文字列だからだと思います。これはGETリクエストなので、ブラウザでURLにアクセスするだけです。
応答は次のようになります。
{" access_token ": " ABC123 "、 "token_type": "bearer"、 "expires_in":5183791}
「ABC123」は、長期間有効なアクセストークンになります。これをAccess Token Debuggerに入れて確認できます。「Expires」の下には、「2か月」のようなものがあります。
3.ユーザーIDを取得する
長期間有効なアクセストークンを使用して、GETリクエストを
https://graph.facebook.com/v2.10/me?access_token= {long_lived_access_token}
id
フィールドには、アカウントIDです。次のステップで必要になります。
4.永続的なページアクセストークンを取得する
GETリクエストをします
https://graph.facebook.com/v2.10/ {account_id} / accounts?access_token = {long_lived_access_token}
JSON応答にはdata
、ユーザーがアクセスできる項目の配列であるフィールドが必要です。永続的なアクセストークンを取得するページのアイテムを見つけます。access_token
フィールドは、あなたの永久的なアクセストークンを持つ必要があります。それをコピーして、Access Token Debuggerでテストします。「Expires」の下には「Never」と表示されているはずです。