📖

[API] Instagaran Graph API で写真や動画を取得するぞ!

2023/01/07に公開

はじめに

Instagramの情報を使いたいなと思ったとき、使用できるAPIが下記2種類(※2023年1月6日時点)ありますが、この記事ではInstagramグラフAPIについて記載します。
・ InstagramグラフAPI
・ Instagram基本表示API

InstagramグラフAPIを使用するには「アクセストークン」と「InstagramビジネスアカウントID」が必要になります。

そこで、「アクセストークン」と「InstagramビジネスアカウントID」の取得方法と「APIによる写真/動画取得方法の一例」をまとめます。

流れ

  1. InstagramとFacebookのアカウント作成
  2. Instagramアカウントをプロアカウントに変更
  3. Facebookでページを作成
  4. InstagramアカウントとFacebookアカウントを連携
  5. Meta for Developersのアカウント作成
  6. Facebookアプリの作成
  7. InstagramグラフAPIを追加
  8. アクセストークン取得
  9. InstagramビジネスアカウントID取得
  10. APIによる投稿取得例

1. InstagramとFacebookのアカウント作成

InstagramFacebookのアカウントを作成します。

2. Instagramアカウントをプロアカウントに変更

アカウントをプロアカウントに切り替えます。

3. Facebookでページを作成

ページをクリックするとページ作成画面に遷移するので、ページを作成します。

4. InstagramアカウントとFacebookアカウントを連携

Instagram投稿を宣伝をクリックすると設定画面に遷移するので、アカウントを連携させます。
連携できるのは、1つのFacebookページに対して、1つのInstagramアカウントまでです。

5. Meta for Developersのアカウント作成

Meta for Developersのアカウントを作成します。
スタートをクリックするとアカウント作成画面に遷移します。

6. Facebookアプリの作成

アプリ作成をクリックします。

アプリタイプにビジネスを選択して、アプリを作成します。
※Instagram Graph APIを使用するにはビジネスの選択が必須

7. InstagramグラフAPIを追加

作成したアプリがダッシュボードに追加されているので、アプリに製品を追加することができるようになります。ダッシュボードから「InstagramグラフAPI」を追加します。

8. アクセストークン取得

アクセストークンの生成に必要となるアプリIDapp secretを確認します。
「設定」の「ベーシック」クリックします。アプリIDapp secretが表示されるのでメモします。

画面右上メニューの中の「ツール」から「InstagramグラフAPIエクスプローラー」を開きます。
先程作成したアプリを選択し、「ページアクセストークンを取得」をクリックします。

アクセス許可を設定後、「Generate Access Token」をクリックするとアクセストークンが生成されます。

このアクセストークは使用期間が短いため、無期限トークンを取得します。

生成後、ブラウザで下記URLにアクセスします。

https://graph.facebook.com/[使用するグラフAPIのバージョン]/oauth/access_token?grant_type=fb_exchange_token&client_id=[メモしたアプリID]&client_secret=[メモしたapp secret]&fb_exchange_token=[先ほど生成したトークン]

アクセストークンが返信されます。

{"access_token":"*******************************************"

取得したアクセストークンを使用して、ブラウザで下記URLにアクセスします。

https://graph.facebook.com/[使用するグラフAPIのバージョン]/me?access_token=[取得したアクセストークン]

IDが返信されるのでメモします。

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

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

https://graph.facebook.com/[使用するグラフAPIのバージョン]/[取得したID]/accounts?access_token=[取得したアクセストークン]

再びアクセストークンが返信され、無期限トークンの取得が完了です。

{
   "data": [
      {
         "access_token": "*********************************",
         "category": "",

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

InstagramビジネスアカウントIDは、グラフAPIエクスプローラーのコマンドに、

me?fields=instagram_business_account

を入力し、アクセストークン取得した無期限トークンを入力して送信すると取得できます。

10. APIによる投稿取得例

試しに、以下URLをブラウザに入力して、自分の投稿を取得してみます。
※[InstagramビジネスアカウントID]と[アクセストークン]の部分をご自身のものに変更してください
※URL末尾のfields=media{like_count,media_url}でいいね数と投稿URLの取得を指定しています

https://graph.facebook.com/v15.0/[InstagramビジネスアカウントID]?access_token=[アクセストークン]&fields=media{like_count,media_url}

取得に成功すると以下のような結果が表示されます。

{
 “media”: {
  “data”: [
    {
      “like_count”: ***
      “media_url”: "*********************************"

他にも色々と取得できるので、ぜひドキュメントをみながら、試してください!

Discussion