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 (поля), выполните следующие действия в узле User.

Шаг 1. Получение маркера доступа и разрешений

Получите маркер доступа пользователя Instagram, следуя инструкциям в этом руководстве. Вам потребуется разрешение instagram_graph_user_profile, поэтому при получении разрешения от пользователя запросите область действия user_profile.

Шаг 2. Запрос узла User

Отправьте запрос к следующей конечной точке:

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

Подставьте вместо {fields} разделенный запятыми список возвращаемых полей объекта User, а вместо {access-token} — маркер доступа пользователя. Конечная точка GET /me определит ID пользователя по маркеру и перенаправит запрос на узел User.

Пример запроса

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. Запрос границы контекста медиафайлов узла User

Отправьте запрос к следующей конечной точке:

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

Подставьте вместо {fields} разделенный запятыми список полей объекта Media, которые нужно вернуть для каждого медиафайла в ответе (если вам нужны только ID, исключите параметр fields), а вместо {access-token} — маркер доступа пользователя. Конечная точка GET /me определит ID пользователя по маркеру и перенаправит запрос на узел User.

Пример запроса

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. Запрос узла Media

Отправьте запрос к следующей конечной точке:

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

Подставьте вместо {media-id} ID изображения, видео или альбома, который нужно запросить, вместо {fields} — разделенный запятыми список возвращаемых полей объекта Media, а вместо {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 (альтернативный вариант). Запрос границы контекста медиафайлов объекта User

Запросив границу контекста User Media, можно получить подборку медиафайлов Media объекта User, а затем использовать расширение поля, чтобы добавить в ответ поля Media для каждого объекта Media в подборке. Для этого отправьте запрос к следующей конечной точке:

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

Подставьте вместо {fields} разделенный запятыми список полей объекта Media, которые нужно вернуть для каждого медиафайла в подборке, а вместо {access-token} — маркер доступа пользователя. Конечная точка GET /me определит ID пользователя по маркеру и перенаправит запрос на узел User.

Пример запроса

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..."
  }
}

Получение содержимого альбома

Чтобы получить подборку медиаданных (изображений и видео) объекта Media альбома, выполните следующие действия.

Шаг 1. Получение маркера доступа и разрешений

Получите маркер доступа пользователя Instagram, следуя инструкциям в этом руководстве. Вам потребуется разрешение instagram_graph_user_media, поэтому при получении разрешения от пользователя запросите область действия user_media.

Шаг 2. Запрос границы контекста Media Children

Отправьте запрос к следующей конечной точке:

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

Подставьте вместо {media-id} ID запрашиваемого альбома, вместо {fields} — разделенный запятыми список полей объекта Media, которые нужно вернуть для каждого медиаобъекта изображения и видео в подборке (если вам нужны только 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..."
  }
}