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 とシークレット、および前の手順で生成された有効期間の短いトークンを入力します。
Graph API Explorer は使用できません。何らかの理由で、このリクエストでスタックします。レスポンスが JSON ではなく、クエリ文字列だからだと思います。GET リクエストなので、ブラウザで URL にアクセスするだけです。
応答は次のようになります。
{"access_token":" ABC123 ","token_type":"bearer","expires_in":5183791}
「ABC123」は、長期間有効なアクセス トークンになります。これをAccess Token Debuggerに入れて確認できます。「有効期限」の下には、「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」と表示されます。