プログラミング

【2023年版】Instagram Graph APIのアクセストークンを取得する方法

この記事は約9分で読めます。

 

 

instagram graph apiを使う機会があったのですが、アクセストークンの取得でかなりはまったので取得方法と注意点についてメモしておきます

 

前準備

 

まず必要なものは以下になります

 

・Facebookアカウント

・インスタグラムビジネスアカウント

 

インスタグラムビジネスアカウントは有料ですが、FaceBookアカウントは無料のもので問題ないです

 

FaceBookビジネスページを作成する

 

既に紐づける予定のFacebookページをもっている人は不要なプロセスです

 

Facebookにログインします。個人用アカウントで大丈夫です。

Facebookページを作成する。

▼「設定」から「ページ」をクリックします。

 

Facebookページの作成方法

 

▼Facebookページを作成します。

 

Facebookページを作成します。

 

▼ページ名などを入力し「Facebookページを作成」をクリックします。

 

Facebookページ作成

 

自分に合った情報を入力して「Facebookページを作成」をクリックします。

 

FacebookページとInstagramプロアカウントの紐づけ

 

次にFacebook側でInstagramプロアカウントを紐づけます。

▼Facebookページの「設定」をクリックします。

Facebookページの作成

▼Instagramをクリックします。

Facebookページの作成

▼アカウントをリンクをクリックします。

Instagramにリンク

 

1つのInstagramアカウントは、1つのFacebookページにのみリンクが可能です。既に他のFacebookページと連携している場合は解除するか、別のInstagramアカウントを選択する必要があります。

 

Instagramの認証画面が表示されますので認証をして連携は終わりです。

 

このプロセスを行わないと後のアクセストークンの3段階目を取得する際に参照するインスタグラムアカウントが存在しないため戻り値のdata部分が空でアクセストークンが取得できないので注意してください

 

 

Facebookアプリ作成

Facebook  for Developers」ページからFacebook アプリを作成していきます。

 

▼画面右上「利用を開始する」をクリックします。

facebook 1st page

▼「次へ」をクリックします。

 

facebook dev page

 

▼メールアドレスを入力して「認証」をクリックします。

 

facebook dev page

 

▼当てはまるものを選択して「登録完了」をクリックします。

 

facebook dev page

▼「アプリを作成」をクリックします。(下図ページに遷移しなかった場合はこちらからジャンプできます。)

 

facebook アプリの登録

 

▼アプリタイプにビジネスを選択して「次へ」をクリックします。

 

facebook アプリタイプの選択

 

各アプリタイプの詳細については、こちらのfacebook for developers公式ドキュメントをご覧ください。Instagram Graph API(インスタグラム グラフAPI)を使用するにはビジネスを選択する必要があります。

 

▼アプリを作成画面でパラメータを入力します。

 

アプリを作成

 

アプリ表示名:
好きな名前を付けて大丈夫です。「Instagram」という言葉を使うと怒られます。

アプリ連絡先メールアドレス:
メールアドレスを入力してください。

アプリの目的:
代理作成か自分用かを選択してください。

ビジネスマネージャーアカウントをお持ちですか?:
グラフAPIを使うだけであれば設定不要です。デイトラ生も不要です。
Facebookアプリが作成できたら次はそれにInstagram Graph APIを追加します。

(図のアプリ設定画面に遷移しなかったときはコチラからジャンプできます。)

 

 

▼設定の中の「ベーシック」をクリックします。

 

FBアプリダッシュボード
アプリIDとApp Secretキーをメモします。
これらはアクセストークンが取得する際に必要になります。
FBアプリダッシュボードの設定

メモできましたら「変更を保存」をクリックします。

プライバシーポリシーとアプリアイコンを設定をしないと警告が出ますが無視して問題ありません。

 

 

Facebook開発者登録してAPIを取得するためのアプリを作成

 

Facebook開発者ページよりAPIを取得するためのアプリを作成します。

facebook for Developers

 

開発者ページより、「マイアプリ」⇒「アプリの作成」を選択し、任意のアプリ名と自身の連絡先メールアドレスを入れて新規アプリを作成します。

 

アプリの管理画面に入ったら「設定」⇒「ベーシック」を開きます。

instagramsetting – 5.png

 

ここにある【アプリID】【app secret】をメモ帳などにメモしておいてください。

これで、アプリの準備は完了です。

 

Graph APIのアクセストークンを取得

 

ここから、Graph APIのアクセストークンを取得する作業に入ります。
InstagramのAPIのアクセストークンを取得するには、ここから3段階にわたってアクセストークンを取得する必要があります。

 

1段階目のアクセストークン取得

 

グラフAPIエクスプローラを開きます。

グラフAPIエクスプローラ

ページ内右部に各種設定欄があり、以下の通り設定します。

 

  • 「Facebookアプリ」の欄は、先ほど作成したアプリの名前
  • 「ユーザーまたはページ」の欄は、ユーザーアクセストークンを取得を選択
  • アクセス許可の欄では、Events Groups Pagesから、「manage_pages」「pages_show_list」「business_management」を追加、Otherから、「instagram_basic」「instagram_manage_comments」「instagram_manage_insights」を追加

 

上記、設定が完了したら「Get Access Token」ボタンをクリックします。

 

instagramsetting – 4.png

 

ボタンをクリックするとアクセス許可の確認ポップアップが表示されるため、OKを押してポップアップを閉じます。すると、先ほど追加したアクセス許可が、緑文字から黒色の文字に変わっています。

 

文字色が変わったのを確認したのち、アクセストークンの欄にある文字列をコピーし、メモ帳などに控えてください。また、この先の作業でも複数のアクセストークンが出てくるため、このアクセストークンを便宜的に【アクセストークンA】とします。

 

ここで注意するべきは「アクセス許可」の部分でこの時に「instagram_basic」「instagram_manage_comments」「instagram_manage_insights」を追加しておかないと3段階目のアクセストークンを取得してInstagramGraphAPIを叩いてもautherrorになってしまいます。その場合は権限を修正して再度一段階目からアクセストークンを生成し直さなければいけないので注意してください

 

2段階目のアクセストークン取得

 

次に、2段階目のアクセストークンを取得します。ここでは、先ほどメモした【アクセストークンA】に加えて、アプリの項目でメモした【アプリID】【app secret】を利用します。

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

 

上記のURL内のそれぞれの項目を置き換えて、URLを作成し、ウェブブラウザでアクセスします。
instagramsetting – 6.png

 

これで、【アクセストークンB】が入手できます。

 

3段階目のアクセストークン取得

 

先ほど入手した、【アクセストークンB】を使って以下のURLにアクセスします。

https://graph.facebook.com/v16.0/me?access_token=【アクセストークンB】

 

ブラウザで以下のように表示されます。

instagramsetting1.png
【Facebook ID】が表示されるので、メモします。

 

続いて、取得した【Facebook ID】と、【アクセストークンB】を使って以下のURLにアクセスします。

https://graph.facebook.com/v16.0/【Facebook ID】/accounts?access_token=【アクセストークンB】

 

管理しているFacebookページが一つであれば、アクセストークンは1つだけ表示されますが、複数管理している場合、管理しているページ全てのアクセストークンが表示されます。

 

そのため、nameの項目をもとに、Instagramと連携させたFacebookページを探します。
英語名であれば問題ないのですが、日本語名のFacebookページの場合、Unicodeエスケープシーケンスに変換されてしまっているため、以下のサイトなどを使ってデコードして確認します。
https://tech-unlimited.com/escape-unicode.html

 

Instagramの内部IDを確認する

 

でこの段階でこれまでの設定がちゃんとできている場合はレスポンスの中に以下のようなinstagram_business_accountの情報が表示されています。でそれのValueに相当するIDがインスタグラムの内部IDになりますのでこれを保存してください

 

{
“instagram_business_account”: {
“id”: “xxxxxxxxxxxx” ←こっちが超大事
},
“id”: “xxxxxxxxxxx” ← こっちはFBの内部IDなので不要
}

 

 

これでInstagramGraphAPIを使用するための前準備は完了です。InstagramGraphAPIはこのビジネスアカウントの内部IDと3段階目のアクセストークンを使用して叩くのでこれが超大事です。またFBの内部IDと混同しないように注意してください。APIのパラメーターにFBの内部IDを載せると当たり前ですがautherrorになります

 

それではここからはPythonを使って実際にAPIを叩いていきます

 

 

 

参考・引用資料

Instagram Graph APIでユーザー、メディア、インサイトなどの情報を取得してみる - Qiita
背景最近、Instagram市場をターゲットとしたプロジェクトで業務を行っており、分析のために色々と情報収集をしているのですが、無数に存在するインフルエンサーを手動で調査するのはさすがにしんどい…
Instagram Graph APIとGAS(Google Apps Script)を使ってインスタグラムのフォロワー数を自動的に日々記録する - Qiita
#注意この記事を書いたのは2019年です。GASのソースはともかく、FacebookのAPIについては仕様変化が目まぐるしく、最新版の仕様はこのページの内容と異なっています。(API部分はア…

 

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

  1. […] 関連記事:【2023年版】Instagram Graph APIのアクセストークンを取得する方法 […]

  2. […] 関連記事:【2023年版】Instagram Graph APIのアクセストークンを取得する方法 […]

  3. […] →【2023年版】Instagram Graph APIのアクセストークンを取得する方法 […]

  4. […] 関連記事:【2023年版】Instagram Graph APIのアクセストークンを取得する方法 […]

  5. […] 関連記事:【2023年版】Instagram Graph APIのアクセストークンを取得する方法 […]

タイトルとURLをコピーしました