On September 4, 2024, we announced the deprecation of the Instagram Basic Display API.

Starting December 4, 2024, all requests to the Instagram Basic Display API will return an error message. We recommend that you migrate your app to the Instagram API to avoid any disruption to your services.

Visit our News for Developers blog post to learn more.

ユーザープロフィールとユーザーメディアを取得する

このガイドでは、Instagramユーザーのプロフィールとメディアを取得する方法について説明します。

ユーザーのプロフィールを取得する

Instagramユーザーのプロフィールデータ(フィールド)をユーザーから取得するには、次の手順を実施します。

ステップ1: アクセストークンとアクセス許可を取得する

アクセストークンとアクセス許可の取得ガイドに従って、ユーザーのInstagramユーザーアクセストークンを取得します。後でinstagram_graph_user_profileアクセス許可が必要になるため、ユーザーから認証を取得する際にuser_profileスコープをリクエストします。

ステップ2: ユーザーノードをクエリする

次のエンドポイントにリクエストを送信します。

GET /me?fields={fields}&access_token={access-token}

結果として返されるユーザーフィールドのコンマ区切りリストで{fields}を置き換え、ユーザーのアクセストークンで{access-token}を置き換えてください。GET /meエンドポイントは、トークンに基づいてユーザーのIDを判別し、リクエストをユーザーノードにリダイレクトします。

リクエストの例

curl -X GET \
  'https://graph.instagram.com/me?fields=id,username&access_token=IGQVJ...'

応答の例

{
  "id": "17841405793187218",
  "username": "jayposiris"
}

ユーザーのメディアを取得する

Instagramユーザーからメディアのコレクションを取得するには、次の手順を実施します。

ステップ1: アクセストークンとアクセス許可を取得する

アクセストークンとアクセス許可の取得ガイドに従って、ユーザーのInstagramユーザーアクセストークンを取得します。後でinstagram_graph_user_profileおよびinstagram_graph_user_media permissionsが必要になるため、ユーザーから認証を取得する際にuser_profileスコープとuser_mediaスコープをリクエストします。

ステップ2: ユーザーメディアのエッジをクエリする

次のエンドポイントにリクエストを送信します。

GET /me/media?fields={fields}&access_token={access-token}

応答に含まれるメディアごとに結果として返されるメディアフィールドのコンマ区切りリストで{fields}を置き換えてください(IDのみが必要な場合にはfieldsパラメーターを完全に省略します)。ユーザーのアクセストークンで{access-token}を置き換えてください。GET /meエンドポイントは、トークンに基づいてユーザーのIDを判別し、リクエストをユーザーノードにリダイレクトします。

リクエストの例

curl -X GET \
  'https://graph.instagram.com/me/media?fields=id,caption&access_token=IGQVJ...'

応答の例

{
  "data": [
    {
      "id": "17895695668004550",
      "caption": ""
    },
    {
      "id": "17899305451014820",
      "caption": ""
    },
    {
      "id": "17896450804038745",
      "caption": ""
    },
    {
      "id": "17881042411086627",
      "caption": ""
    }
  ],
  "paging": {
    "cursors": {
      "after": "MTAxN...",
      "before": "NDMyN..."
      },
    "next": "https://graph.faceb..."
  }
}

メディアデータを取得する

画像、動画、またはアルバムのデータ(フィールド)を取得するには、次の手順を実施します。

ステップ1: アクセストークンとアクセス許可を取得する

アクセストークンとアクセス許可の取得ガイドに従って、ユーザーのInstagramユーザーアクセストークンを取得します。後でinstagram_graph_user_mediaアクセス許可が必要になるため、ユーザーから認証を取得する際にuser_mediaスコープをリクエストします。

ステップ2: メディアノードをクエリする

次のエンドポイントにリクエストを送信します。

GET /{media-id}?fields={fields}&access_token={access-token}

クエリする画像、動画、またはアルバムのIDで{media-id}を置き換え、結果として返されるメディアフィールドのコンマ区切りリストで{fields}を置き換え、ユーザーのアクセストークンで{access-token}を置き換えてください。

リクエストの例

curl -X GET \
  'https://graph.instagram.com/17895695668004550?fields=id,media_type,media_url,username,timestamp&access_token=IGQVJ...'

応答の例

{
  "id": "17895695668004550",
  "media_type": "IMAGE",
  "media_url": "https://fb-s-b-a.akamaihd.net/...",
  "username": "jayposiris"
  "timestamp": "2017-08-31T18:10:00+0000"
}

ステップ2(代替手順): ユーザーメディアのエッジをクエリする

ユーザーメディアのエッジをクエリしてユーザーからメディアのコレクションを取得し、フィールド拡張を使用してコレクション内の各メディアメディアフィールドを応答に含めることができます。これを行うには、次のエンドポイントにリクエストを送信します。

GET /me/media?fields={fields}&access_token={access-token}

コレクション内のメディアごとに結果として返されるメディアフィールドのコンマ区切りリストで{fields}を置き換え、ユーザーのアクセストークンで{access-token}を置き換えてください。GET /meエンドポイントは、トークンに基づいてユーザーのIDを判別し、リクエストをユーザーノードにリダイレクトします。

リクエストの例

curl -X GET \
  'https://graph.instagram.com/me/media?fields=id,caption&access_token=IGQVJ...'

応答の例

{
  "data": [
    {
      "id": "17895695668004550",
      "caption": ""
    },
    {
      "id": "17899305451014820",
      "caption": ""
    },
    {
      "id": "17896450804038745",
      "caption": ""
    },
    {
      "id": "17881042411086627",
      "caption": ""
    }
  ],
  "paging": {
    "cursors": {
      "after": "MTAxN...",
      "before": "NDMyN..."
      },
    "next": "https://graph.faceb..."
  }
}

アルバムコンテンツを取得する

アルバムメディアから画像と動画のコレクションのメディアを取得するには、次の手順を実施します。

ステップ1: アクセストークンとアクセス許可を取得する

アクセストークンとアクセス許可の取得ガイドに従って、ユーザーのInstagramユーザーアクセストークンを取得します。後でinstagram_graph_user_mediaアクセス許可が必要になるため、ユーザーから認証を取得する際にuser_mediaスコープをリクエストします。

ステップ2: メディアの子のエッジをクエリする

次のエンドポイントにリクエストを送信します。

GET /{media-id}/children?fields={fields}&access_token={access-token}

クエリするアルバムのIDで{media-id}を置き換え、コレクション内の画像および動画メディアごとに結果として返されるメディアフィールドのコンマ区切りリストで{fields}を置き換えてください(IDのみが必要な場合には、fieldsパラメーターを完全に省略します)。ユーザーのアクセストークンで{access-token}を置き換えてください。

リクエストの例

curl -X GET \
  'https://graph.instagram.com/17896450804038745/children?access_token=IGQVJ...'

応答の例

{
  "data": [
    {
      "id": "17880997618081620"
    },
    {
      "id": "17871527143187462"
    }
  ],
  "paging": {
    "cursors": {
      "after": "MTAxN...",
      "before": "NDMyN..."
      },
    "previous": "https://graph.faceb...",
    "next": "https://graph.faceb..."
  }
}