【Facebook API】長期アクセストークンを取得する方法|ユーザー・ページアクセストークン

今回は、Facebook のGraph API(グラフAPI)のリクエストで利用する、長期ユーザーアクセストークン・長期ページアクセストークンを、コマンドライン(Macのターミナル・Windows のコマンドプロンプトなど)から生成する方法となります。
長期ユーザーアクセストークンを取得する方法
長期ユーザーアクセストークンを取得する手順は以下となります。
生成に必要な情報
長期ユーザーアクセストークンを生成するには、以下の情報が必要となります。
グラフAPIのバージョンを確認
利用するグラフAPIのバージョンを確認します。最新のバージョンは、以下のリンク先から確認できます。
アプリID・app secretを確認
Facebook for Developers にAPIを利用するFacebookアカウントでログインし、利用するアプリから以下の認証情報を確認します。
- アプリID
- app secret
ユーザーアクセストークンを取得
ユーザーアクセストークンを取得する方法は、以下のリンク先を参考にしてみてください。
生成するコマンド
長期ユーザーアクセストークンは、以下のcurlコマンドで生成できます。また、コマンド内の次の箇所には、上記で確認した情報を入力します。
- グラフAPIのバージョン
- アプリID
- Appシークレット(app secret)
- ユーザーアクセストークン
curl -i -X GET "https://graph.facebook.com/グラフAPIのバージョン/oauth/access_token?grant_type=fb_exchange_token&client_id=アプリID&client_secret=Appシークレット&fb_exchange_token=ユーザーアクセストークン"
コマンドを実行するとJSONデータが返ります。そのJSON内のaccess_tokenの値が長期ユーザーアクセストークンとなります。
長期ページアクセストークンを取得する方法
長期ページアクセストークンを取得する手順は以下となります。
生成に必要な情報
長期ページアクセストークンを生成するには、以下の情報が必要となります。
グラフAPIのバージョンを確認
グラフAPIのバージョンは前述の方法で確認できます。
ユーザーIDを確認
ユーザーIDは、上記で取得した長期ユーザーアクセストークンがもつ情報から確認できます。
アクセストークンがもつ情報を確認するには、Facebook for Developers の アクセストークンデバッガー ページに、アクセストークンを入力し、「デバッグ」ボタンを選択します。
そうすると、アクセストークン情報が表示されるので、「App-Scoped User ID」の項目に次のような値が表示されます。
XXXXXXXX : ユーザー名
その値のXXXXXXXX の箇所がユーザーIDとなります。
長期ユーザーアクセストークンを取得
長期ユーザーアクセストークンは、前述の方法で生成します。
生成するコマンド
長期ページアクセストークンは、以下のcurlコマンドで生成できます。また、コマンド内の次の箇所には、上記で確認した情報を入力します。
- グラフAPIのバージョン
- ユーザーID
- 長期ユーザーアクセストークン
curl -i -X GET "https://graph.facebook.com/グラフAPIのバージョン/ユーザーID/accounts?access_token=長期ユーザーアクセストークン"
コマンドを実行するとJSONデータが返ります。そのJSON内のaccess_tokenの値が長期ページアクセストークンとなります。
また、ユーザーが複数のページを管理している場合は、ページ毎にオブジェクトのデータがあります。
JSONデータの整形について
上記方法で取得したJSON形式の情報は整形されていなかもしれません。
そのような場合には、コマンドラインで扱うJSONデータを整形できる『jq』を利用する方法があります。詳しくは以下のリンク先を参考にしてみてください。
生成したアクセストークンの詳細情報を確認する方法
アクセストークンの詳細情報を確認するには、Facebook for Developers の アクセストークンデバッガー ページに、アクセストークンを入力し、「デバッグ」ボタンを選択します。