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

今回は、Facebook のGraph API(グラフAPI)のリクエストで利用する、長期ユーザーアクセストークン・長期ページアクセストークンを、コマンドライン(Macのターミナル・Windows のコマンドプロンプトなど)から生成する方法となります。

長期ユーザーアクセストークンを取得する方法

長期ユーザーアクセストークンを取得する手順は以下となります。

生成に必要な情報

長期ユーザーアクセストークンを生成するには、以下の情報が必要となります。

グラフAPIのバージョンを確認

利用するグラフ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 の アクセストークンデバッガー  ページに、アクセストークンを入力し、「デバッグ」ボタンを選択します。

参考サイトなど

コメント投稿コメント投稿欄を開く

コメントは項目欄(*は必須項目)を入力し、「コメントを送信」ボタンをクリックしてください。 (メールアドレスは公開されることはありません。コメントの公開は承認制となります。)

また、多忙によりコメントには返信できない場合があります。

Twitterで返信する場合はこちらから。