Вставка публикации Instagram

Запрос к конечной точке oEmbed для Instagram позволяет получить HTML-код для вставки и базовые метаданные публикации Instagram для ее отображения на другом сайте или в приложении. Поддерживаются фото- и видеопубликации, видео Reels и публикации в Ленте.

Чтобы узнать, как получить код для вставки из общедоступной публикации или профиля в Instagram, посетите Справочный центр Instagram.

On April 8, 2025, we introduced a new oEmbed feature, Meta oEmbed Read to replace the existing oEmbed Read feature. The current oEmbed Read feature will be deprecated on October 1, 2025.

  • Apps created after April 8, 2025 that implement oEmbed will use the new Meta oEmbed Read feature.
  • Existing apps that already use the current oEmbed Read feature will be automatically updated to the new Meta oEmbed Read feature by October 1, 2025.

The following fields are no longer returned and will be fully deprecated on October 1, 2025:

  • author_name
  • author_url
  • thumbnail_height
  • thumbnail_url
  • thumbnail_width

Read the oEmbed Updates blog post from Meta to learn more.

Стандартное использование

  • Вставка публикации в блог
  • Вставка публикации на сайт
  • Представление публикации в системе управления контентом
  • Представление публикации в приложении для обмена сообщениями

Требования

Это руководство предназначено для зарегистрированных разработчиков Meta , у которых есть приложение Meta .

Вам понадобится:

Уровни доступа

Маркеры доступа

  • Маркер доступа приложения , если ваше приложение обращается к конечной точке oEmbed с внутреннего сервера.
  • Маркер доступа клиента , если ваше приложение обращается к конечной точке oEmbed через пользовательский агент, такой как мобильное устройство или веб-браузер.

Базовый URL

Доступ ко всем конечным точкам осуществляется через хост graph.facebook.com.

Конечные точки

Функции

Ограничения

  • Конечная точка oEmbed для Instagram предназначена только для вставки контента Instagram на сайты и в приложения. Использовать ее в любых других целях запрещено. Строго запрещается использовать метаданные и контент страниц, публикаций или видео и их производные, полученные с помощью этой конечной точки, в любых целях, кроме отображения этих страниц, публикаций или видео в пользовательском интерфейсе. Этот запрет распространяется на потребление, изменение, извлечение и хранение метаданных и контента, включая получение из метаданных информации о страницах, публикациях и видео в целях анализа.
  • Публикации конфиденциальных и неактивных аккаунтов Instagram, а также аккаунтов с ограничением по возрасту не поддерживаются.
  • Аккаунты, которые отключиливставки, не поддерживаются.
  • Истории не поддерживаются.
  • Shadow DOM не поддерживается.

Ограничения числа обращений

Ограничения числа обращений зависят от типа маркера доступа, который приложение указывает в каждом запросе.

Ограничения числа обращений для маркера доступа приложения

Приложения, использующие маркер доступа приложения, могут выполнять до 5 миллионов запросов каждые 24 часа.

Ограничения числа обращений для маркера доступа клиента

Ограничения числа обращений для маркера доступа клиента значительно ниже ограничений для маркера доступа приложения. Указать точное ограничение невозможно, так как оно изменяется в зависимости от активности приложения. В большинстве случаев ваше приложение не достигнет ограничения, если оно не ведет себя как бот (в частности, не отправляет тысячи запросов в одном пакете или тысячи запросов на каждый агент либо каждого пользователя).

Получение HTML-кода для вставки

HTML-код для вставки можно получить программным путем или в приложении Instagram .

Чтобы получить HTML-код для вставки публикации Instagram программным путем, отправьте такой запрос:

GET /instagram_oembed?url=<URL_OF_THE_POST>&access_token=<ACCESS_TOKEN>

Вместо <URL_OF_THE_POST> подставьте URL публикации Instagram, которую нужно запросить, а вместо <ACCESS_TOKEN> — маркер доступа своего приложения или клиента (или передайте его нам в HTTP-заголовке Authorization).

Authorization: Bearer <ACCESS_TOKEN>

Если вы используете маркер доступа клиента, не забудьте добавить к нему ID приложения Meta, отделив вертикальной чертой, иначе запрос завершится ошибкой.

В случае успеха API вернет объект JSON, содержащий HTML-код публикации для вставки, а также дополнительные данные. HTML-код для вставки содержится в свойстве html.

Список параметров, которые можно добавлять в строку запроса, см. в справке по конечной точке oEmbed для Instagram. Можно также добавить параметр fields, чтобы указать, какие поля вы хотите получить в ответе. Если его не задать, будут возвращены все поля по умолчанию.

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

curl -X GET \
  "https://graph.facebook.com/v23.0/instagram_oembed?url=https://www.instagram.com/p/fA9uwTtkSN/&access_token=IGQVJ..."

curl -i -X GET \
     --header "Authorization: Bearer 96481..." \
     "https://graph.facebook.com/v23.0/instagram_oembed?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FfA9uwTtkSN"

Пример ответа

Некоторые значения усечены (...) для удобства чтения.

{
  "version": "1.0",
  "author_name": "diegoquinteiro",
  "provider_name": "Instagram",
  "provider_url": "https://www.instagram.com/",
  "type": "rich",
  "width": 658,
  "html": "<blockquote class=\"instagram-media\" data-instgrm-ca...",
  "thumbnail_width": 640,
  "thumbnail_height": 640
}

Форматы URL

Параметр строки запроса url принимает URL в следующих форматах:

https://www.instagram.com/p/{media-shortcode}/
https://www.instagram.com/tv/{media-shortcode}/https://www.instagram.com/{username}/guide/{slug}/{guide_id}

Библиотека JavaScript для вставки

HTML-код для вставки содержит ссылку на библиотеку JavaScript embed.js для Instagram. При загрузке библиотека проверяет страницу на предмет HTML-кода публикации и генерирует полностью отображаемую публикацию. Чтобы загрузить библиотеку отдельно, добавьте в запрос параметр omitscript=true. Чтобы инициализировать HTML-код для вставки вручную, вызовите функцию instgrm.Embeds.process() после загрузки библиотеки.

Размер публикации

Встраиваемая публикация адаптируется под размер ее контейнера. Это означает, что высота публикации изменяется в зависимости от ширины контейнера и длины подписи. Чтобы указать максимальную ширину, добавьте в запрос параметр maxwidth.

Получение миниатюр

Рекомендуем по возможности представлять HTML-код для вставки публикации целиком. Если это не удается сделать, можно получить URL изображения миниатюры публикации и отображать ее. В этом случае необходимо указать информацию об авторских правах: имя автора, ссылку на исходную публикацию и на Instagram.

Чтобы получить URL миниатюры и информацию об авторских правах, отправьте такой запрос:

GET /instagram_oembed
  ?url=<URL_OF_THE_POST>
  &maxwidth=<MAX_WIDTH>
  &fields=thumbnail_url,author_name,provider_name,provider_url
  &access_token=<ACCESS_TOKEN>

Вместо <URL_OF_THE_POST> подставьте URL публикации Instagram, которую нужно запросить, вместо <MAX_WIDTH> — максимальный размер миниатюры для отображения, а вместо <ACCESS_TOKEN> — маркер доступа своего приложения или клиента.

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

curl -i -X GET \
  "https://graph.facebook.com/v23.0/instagram_oembed?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FfA9uwTtkSN&maxwidth=320&fields=thumbnail_url%2Cauthor_name%2Cprovider_name%2Cprovider_url&access_token=96481..."

Пример ответа

Некоторые значения усечены (...) для удобства чтения.

{
  "thumbnail_url": "https://scontent.cdninstagram.com/v/t51.288...",
  "author_name": "diegoquinteiro",
  "provider_name": "Instagram",
  "provider_url": "https://www.instagram.com/"
}

Отправка приложения на проверку

При отправке приложения на проверку в поле формы Расскажите, почему вы запрашиваете функцию oEmbed Read > Предоставьте URL, по которому мы можем протестировать oEmbed Read используйте конечную точку Instagram oEmbed, чтобы получить HTML-код для вставки для какой-либо публичной публикации на нашей официальной Странице Facebook или на Странице Instagram. Затем добавьте возвращенный HTML-код для вставки туда, где будет отображаться контент oEmbed, и укажите URL этой страницы в поле формы.

Получив одобрение на использование функции oEmbed Read, вы сможете вставлять собственные страницы, публикации и видео с помощью соответствующих URL.