スタートガイド

このドキュメントでは、アプリでInstagramグラフAPI呼び出して、Instagramビジネスオブジェクトやクリエイターアカウントのメディアオブジェクトを取得する方法について説明します。グラフAPIFacebookログインを十分に理解していることと、REST API呼び出しの実行方法を知っていることを前提としています。まだアプリがない場合は、代わりにグラフAPIエクスプローラを使用できます。その場合は、ステップ1と2をスキップできます。

開始する前に

次のものにアクセスする必要があります。

1.Facebookログインの構成

アプリダッシュボードで、アプリにFacebookログイン製品を追加します。

すべての設定はデフォルトのままで問題ありません。Facebookログインを手動で実装している場合(推奨されていません)、自分のredirect_uri[有効なOAuthリダイレクトURI]フィールドに入力します。FacebookのいずれかのSDKを使用する場合は、空白のままで問題ありません。

2.Facebookログインの実装

使用しているプラットフォームのFacebookログインドキュメントに従い、Facebookログインをアプリに実装します。実装をセットアップして、以下のアクセス許可をリクエストします。

3.ユーザーアクセストークンを取得する

Facebookログインを実装したら、Facebook開発者アカウントにサインインしていることを確認してから、アプリにアクセスしてFacebookログインモーダルをトリガーします。Facebook開発者アカウントは、クエリ対象のInstagramアカウントにリンクされたFacebookページタスクを実行できる必要があります。

モーダルをトリガーしたら[OK]をクリックして、instagram_basicアクセス許可とpages_show_listアクセス許可をアプリに付与します。

APIによってユーザーアクセストークンが返されます。このトークンをキャプチャして、アプリが次のいくつかのクエリで使用できるようにします。グラフAPIエクスプローラを使用している場合、トークンは自動的にキャプチャされ、参照用に[アクセストークン]フィールドに表示されます。

4.ユーザーのページを取得する

GET /me/accountsエンドポイントをクエリします(これはGET /{user-id}/accountsに変換され、アクセストークンに基づいて、FacebookのユーザーノードにGETが実行されます)。

curl -i -X GET \
 "https://graph.facebook.com/v19.0/me/accounts?access_token={access-token}"

これにより、現在のFacebookユーザーがMANAGECREATE_CONTENTMODERATE、またはADVERTISEタスクを実行できるFacebookページのコレクションが返されます。

{
  "data": [
    {
      "access_token": "EAAJjmJ...",
      "category": "App Page",
      "category_list": [
        {
          "id": "2301",
          "name": "App Page"
        }
      ],
      "name": "Metricsaurus",
      "id": "134895793791914",  // capture the Page ID
      "tasks": [
        "ANALYZE",
        "ADVERTISE",
        "MODERATE",
        "CREATE_CONTENT",
        "MANAGE"
      ]
    }
  ]
}

クエリ対象のInstagramアカウントにリンクされているFacebookページのIDをキャプチャします。アプリユーザーは複数のページでタスクを実行できる場合があるため、最終的には、キャプチャする正しいページIDを決定できるロジックを導入する(または、アプリユーザーが正しいページを特定できるようなUIを考案する)必要があることに留意してください。

5.ページのInstagramビジネスアカウントを取得する

キャプチャしたページIDを使用して、GET /{page-id}?fields=instagram_business_accountエンドポイントをクエリします。

curl -i -X GET \
 "https://graph.facebook.com/v19.0/134895793791914?fields=instagram_business_account&access_token={access-token}"

これは、FacebookページにリンクされているInstagramビジネスアカウントまたはクリエイターアカウントのIGユーザーを返します。

{
  "instagram_business_account": {
    "id": "17841405822304914"  // Connected IG User ID
  },
  "id": "134895793791914"  // Facebook Page ID
}

IGユーザー IDをキャプチャします。

6.Instagramビジネスアカウントのメディアオブジェクトを取得する

キャプチャしたIGユーザー IDを使ってGET /{ig-user-id}/mediaエンドポイントをクエリします。

curl -i -X GET \
 "https://graph.facebook.com/v19.0/17841405822304914/media?access_token={access-token}"

このクエリは、IGユーザーのすべてのIGメディアオブジェクトのIDを返すはずです。

{
  "data": [
    {
      "id": "17918195224117851"
    },
    {
      "id": "17895695668004550"
    },
    {
      "id": "17899305451014820"
    },
    {
      "id": "17896450804038745"
    },
    {
      "id": "17881042411086627"
    },
    {
      "id": "17869102915168123"
    }
  ],
  "paging": {
    "cursors": {
      "before": "QVFIUkdGRXA2eHNNTUs4T1ZAXNGFxQTAtd3U4QjBLd1B2NXRMM1NkcnhqRFdBcEUzSDVJZATFoLWtXMWZAGU2VrRTk2RHVtTVlDckI2NjN0UERFa2JrUk4yMW13",
      "after": "QVFIUmlwbnFsM3N2cV9lZAFdCa0hDeV9qMVliT0VuMmJyNENxZA180c0t6VjFQVEJaTE9XV085aU92OUFLNFB6Szd2amo5aV9rTlVBcnNlWmEtMzYxcE1HSFR3"
    }
  }
}

この最後のクエリを正常に実行できれば、任意のInstagramグラフAPIエンドポイントを使用してクエリを実行できるはずです。各エンドポイントでできることと、必要なアクセス許可については、Facebookの各種のガイドとリファレンスを参照してください。

次のステップ

  • さらにアプリの開発を進め、必要な他のエンドポイントも正しく使用できるようにし、それぞれのエンドポイントで必要とされるアクセス許可を把握しておく
  • アプリレビュープロセスを完了して、アプリに必要なすべてのアクセス許可の承認をリクエストし、アプリがライブモードに移行した際にアプリユーザーがそれらのアクセス許可を付与できるようにする
  • アプリをライブモードに切り替え、潜在的なユーザーに対するマーケティングを行う

アプリがライブモードになったら、アプリを利用可能にしたすべてのFacebookユーザーは、Instagramビジネスアカウントまたはクリエイターアカウントにリンクされているページでタスクを実行できるFacebookユーザーアカウントを所持している限り、そのInstagramビジネスアカウントまたはクリエイターアカウントのデータにアクセスできます。