Запрос к конечной точке oEmbed для Instagram позволяет получить HTML-код для вставки и базовые метаданные публикации Instagram для ее отображения на другом сайте или в приложении. Поддерживаются фото- и видеопубликации, видео Reels и публикации в Ленте.
Чтобы узнать, как получить код для вставки из общедоступной публикации или профиля в Instagram, посетите Справочный центр Instagram.
Это руководство предназначено для зарегистрированных разработчиков Meta , у которых есть приложение Meta .
Вам понадобится перечисленные далее элементы.
для функции oEmbed Read — требуется
проверка приложения Meta.
Доступ ко всем конечным точкам реализуется через хост graph.facebook.com
.
Ограничения числа обращений зависят от типа маркера доступа, который приложение указывает в каждом запросе.
Приложения, использующие маркер доступа приложения, могут выполнять до 5 миллионов запросов каждые 24 часа.
Ограничения числа обращений для маркера доступа клиента значительно ниже ограничений для маркера доступа приложения. Ограничение изменяется в зависимости от активности приложения, поэтому указать его точное значение невозможно. В большинстве случаев ваше приложение не достигнет ограничения, если оно не ведет себя как бот (в частности, не отправляет тысячи запросов в одном пакете или тысячи запросов на каждый агент либо каждого пользователя).
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/v21.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/v21.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 в следующих форматах:
https://www.instagram.com/p/{media-shortcode}/
https://www.instagram.com/tv/{media-shortcode}/
https://www.instagram.com/{username}/guide/{slug}/{guide_id}
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/v21.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.