InstagramのフィードをAPIでサイトに組み込む方法4〜無期限アクセストークンを取得

2023.06.09 00:43
2023.05.25 09:20
InstagramのフィードをAPIでサイトに組み込む方法4〜無期限アクセストークンを取得

前回はfacebookアプリをつくり、グラフAPIエクスプローラーでユーザーアクセストークンを取るところまでいきました。今回は6のプロアカウントIDの取得と、7の無期限アクセストークン取得をやってみたいと思います。

1. 大まかな流れ

  1. Instagramをプロアカウントにする
  2. facebookページを作成する
  3. facebookページとInstagramを連携する
  4. facebookアプリを作る
  5. グラフAPIエクスプローラーでユーザーアクセストークンを取る
  6. プロアカウントIDを取得する【←今回はここ
  7. 無期限アクセストークンを取得する【←今回はここ
  8. APIにアクセスして一覧を表示する

2. 短期トークンの取得

まずは「AppId」と「AppSecret」と「ユーザーアクセストークン」を使って「短期トークン」を取ります。これはAPIにはアクセスできるけど期限があるトークンみたいです。実用的ではないので、これをもとに無期限トークンを取ってそれを使うらしいのです。ということでまずは短期トークンを取得します。

以下のURLにそれぞれ3つの情報を当てはめてブラウザでアクセスしてみます。
ちなみにv16の部分はグラフAPIのバージョンなので、ブラウザからバージョンを確認して合わせる必要があるらしいですね。

https://graph.facebook.com/v16.0/oauth/access_token?grant_type=fb_exchange_token&client_id=アプリID&client_secret=app Secret&fb_exchange_token=ユーザーアクセストークン

↓こう返ってきました。

{"access_token":"短期トークンです。長ーーーーいトークンが実際には入っています。","token_type":"bearer"}

ここに入っているのが短期トークンですね。次はこのトークンをつかってプロアカウントIDを取得します。

3. プロアカウントIDの取得

こちらもグラフAPIのバージョンを合わせるのを忘れずに。

https://graph.facebook.com/v16.0/me?access_token=短期トークン

↓こんな感じで返ってきました

{
   "name": "ユーザー名がユニコードで返ってくる",
   "id": "00000000000000"
}

このidの長ーい数字がプロアカウントIDのようです。

4. 無期限アクセストークンの取得

いよいよ無期限トークンの取得です。短期アクセストークンとプロアカウントIDを使ってアクセスします。バージョンの指定チェックも忘れずに。

https://graph.facebook.com/v16.0/プロアカウントID/accounts?access_token=短期トークン

こんな感じで凄く長く返ってきました。

{
   "data": [
      {
         "access_token": "無制限トークン",
         "category": "カテゴリ",
         "category_list": [
            {
               "id": "0000000000",
               "name": "名前"
            }
         ],
         "name": "名前",
         "id": "0000000000",
         "tasks": [
            "ADVERTISE",
            "ANALYZE",
            "CREATE_CONTENT",
            "MESSAGING",
            "MODERATE",
            "MANAGE"
         ]
      },
      {
         "access_token": "トークン",
         "category": "カテゴリ",
         "category_list": [
            {
               "id": "0000000000",
               "name": "名前"
            }
         ],
         "name": "名前",
         "id": "0000000000",
         "tasks": [
            "ADVERTISE",
            "ANALYZE",
            "CREATE_CONTENT",
            "MESSAGING",
            "MODERATE",
            "MANAGE"
         ]
      },

値は置き換えています。色々ありますが、一番上の「無制限アクセストークン」ってところにある長ーいトークンがそれのようです。

ようやく「プロアカウントID」と「無制限アクセストーク」がとれました!
これを使ってAPIにアクセスします。

5.トークンの確認

きちんと取れたかを「アクセストークンデバッガー」というツールで確認できるようです。念の為確認してみましょう。

https://developers.facebook.com/tools/debug/accesstoken/

ここにアクセスして、最後に撮った無制限アクセストークンを入れて「デバッグ」をクリックしてみます。

結果の表が出てきました。以下の項目が所定の値になっていればOKらしいです。

  • タイプ:Page
  • 有効期限:受け取らない
  • 有効:True
  • スコープ:pages_show_list, business_management, instagram_basic

やっとAPIにアクセスするための情報が揃いました。
次回は、これを使って実際にAPIからデータを取得して表示してみます。

今回は以上です!