Instagram Graph API ver16.0でアクセストークンとInstagramのビジネスアカウントIDを取得する

Instagram Graph API ver16.0でアクセストークンとInstagramのビジネスアカウントIDを取得する

事前準備

Instagram Graph APIを使用するには、事前にFacebookページとInstagramアカウントとの紐付けを行っておく必要があります。紐付けを行っていない場合は、下記を参考にアカウントの紐付けを行ってください。

▼ Instagramでビジネスアカウントを設定する
https://www.facebook.com/help/instagram/502981923235522

▼ InstagramアカウントとFacebookページをリンクしたり、リンクを解除したりする
https://www.facebook.com/business/help/898752960195806

また、アクセストーン取得の流れは下記となります。

  1. Facebookアプリの作成しアプリIDとApp Secretキーを取得する
  2. Instagram Graph APIのアクセストークンを計3つ取得
  3. Instagram ビジネスアカウントIDの取得

Facebookアプリの作成する

Facebook for developerにアクセスして、ヘッダーメニューの「My Apps」からアプリの作成をします。

作成したいアプリのタイプを聞かれるので、ここでは「ビジネス」を選択し「次へ」をクリックします。
( ※Instagram Graph API(インスタグラム グラフAPI)を使用するにはビジネスを選択する必要があります。)

続いてアプリの詳細情報を登録します。

アプリ名を追加 任意のアプリ名を入力してください。ただし「Instagram」という言葉を使うと怒られます。
アプリの連絡先メールアドレス メールアドレスを入力してください。
ビジネスアカウント(任意) グラフAPIを使用するだけなので今回は設定不要です。

これでアプリの登録は完了です。
続いて作成したアプリのアプリIDとApp Secretキーを取得します。

アプリIDとApp Secretキーを取得

アプリを作成すると下記のページが表示されるので、ここでInstagram グラフ APIを利用できるように設定します。
(表示がされない場合は、ヘッダーメニューの「マイアプリ」からアプリ一覧画面へ移動し先程のアプリを選択すると下記の画面に移動するので「Instagram グラフ API」の設定をクリックしします。)

左メニューの設定の中の「ベーシック」をクリックします。

「アプリID」と「app secret」が表示されるので、両方とものちほど設定で必要になるのでコピーしてどこかに控えておきます。

「変更を保存」をクリックして、アプリの作成を終了します。

アクセストークンを取得する

作成したアプリを用いてAPI通信に必須のアクセストークンを取得します。
最初に「期限付きアクセストークン」を取得し、そのあとに「無期限のアクセストークン」にアップグレードします。

※ 「期限付きアクセストークン」は一時間で有効期限を切れてしまうようです。
※ また「無期限のアクセストークン」を取得するためには、「期限付きアクセストークン」が必要です。
※ 設定に必要なアクセストークンを全部で3回取得します。

期限付きのアクセストークン取得

ヘッダーメニューの「ツール > グラフAPIエクスプローラ」をクリックして「グラフAPIエクスプローラ」ページに移動し、Metaアプリ・ユーザーまたはページ・アクセス許可の項目を設定します。

Metaアプリ 作成したアプリを選択してください
ユーザーまたはページ ページアクセストークンから取得したいページを選択
※ アクセス許可を設定するためのポップアップが表示されるので承認する
アクセス許可 上記のアクセス許可を設定すると
・pages_show_list
・pages_read_engagement

が追加されるのでオプションから更に下記を追加する
・business_management
・instagram_basic
・instagram_manage_comments
・instagram_manage_insights
・instagram_content_publish
・instagram_manage_messages

を追加

ここまで設定できたら 【Generate Access Token】 ボタンをクリックして、アクセストークン部分の文字列を更新します。

1番目のアクセストークンが発行されますのでメモしておいてください。

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

2番めのアクセストークンを取得するためにブラウザで下記のURLにアクセスします。

https://graph.facebook.com/v16.0/oauth/access_token?grant_type=fb_exchange_token&client_id=[1.アプリID]&client_secret=[2.app secret]&fb_exchange_token=[3.1番目のトークン]

1.アプリID:予め取得しておいたアプリID
2.app secret:予め取得しておいたapp secret
3.1番目のトークン:先程取得した1番目のアクセストークン

2番目のアクセストークンが発行されました。

{
    "access_token":"********",
    "token_type":"bearer"
}

続けて3番目のアクセストークンを取得します。

まずブラウザで下記URLにアクセスします。

https://graph.facebook.com/v16.0/me?access_token=[2番目のトークン]

下記のような結果が表示されますのでIDをコピーします。

 

{
   "name": "********",
   "id": "********"
}

 

続けて、上で取得したIDを使って、ブラウザで下記URLにアクセスします。

https://graph.facebook.com/v16.0/[上記のID]/accounts?access_token=[2番目のトークン]

下記のような結果が出力され3番目のアクセストークンが発行されました。

 

{
   "data": [
      {
         "access_token": "*3番目のアクセストークン*",
         "category": "",
         "category_list": [
            {
               "id": "",
               "name": ""
            }
         ],
         "name": "",
         "id": "*ページID*",
}

 

InstagramビジネスアカウントIDの取得に必要な【3番目のアクセストークン】と【ページID】をコピーしてメモしておきます。

InstagramビジネスアカウントIDの取得

最後にInstagramビジネスアカウントIDを取得します。

下記のURLをブラウザで表示します。

https://graph.facebook.com/【上記で取得したページID】?fields=instagram_business_account&access_token=【3番目のアクセストークン】

下記のような結果が出力されInstagramビジネスアカウントIDが発行されました。

 

{
   "instagram_business_account": {
      "id": "************"  #InstagramビジネスアカウントID
   },
   "id": "************" #page ID
}

 

これでInstagramのインサイト取得に必要な「無期限のアクセストークン」と「InstagramビジネスアカウントID」の取得ができました。

Instagram ビジネスアカウントの投稿オブジェクトを取得

最後に Instagram ビジネスアカウントの投稿オブジェクトを取得してみます。

https://graph.facebook.com/v16.0/【InstagramビジネスアカウントID】/?fields=media_count,media{caption,media_url,media_type,permalink}&access_token=【3番目のアクセストークン】

こんな感じでオブジェクトが取得できれば成功です。お疲れ様でした。

お問い合わせ

Contact

ウェブや映像に関することならお気軽にご相談ください。お見積りのご依頼も可能です。