Puedes hacer una consulta al punto de conexión oEmbed de Instagram para obtener los metadatos básicos y el código HTML de inserción de una publicación de Instagram, con el objetivo de mostrar la publicación en otro sitio web o app. Admite publicaciones de fotos, videos, reels y feeds.
Visita el servicio de ayuda de Instagram para informarte sobre cómo obtener el código de inserción de una publicación pública de Instagram o un perfil público.
En esta guía, se asume que eres desarrollador registrado de Meta y que creaste una app de Meta .
Necesitarás lo siguiente:
para la función de oEmbed Read: se requiere
la
revisión de la app de MetaEs posible acceder a todos los puntos de conexión mediante el host graph.facebook.com
.
Los límites de frecuencia dependen del tipo de token de acceso que tu app incluye en cada solicitud.
Las apps que dependen de tokens de acceso a la app pueden hacer hasta 5 millones de solicitudes cada 24 horas.
Los límites de frecuencia de los tokens de cliente son bastante más bajos que los límites de frecuencia de los tokens de la app. No revelamos el límite real porque este varía en función de la actividad de tu app. Sin embargo, puedes confiar en que tu app no alcanzará el límite a menos que tenga un comportamiento similar a un bot, como el procesamiento por lotes de miles de solicitudes o el envío de miles de solicitudes por agente o usuario de app.
Puedes obtener un código HTML de inserción mediante programación o en la app de Instagram.
Para obtener código HTML de inserción de una publicación de Instagram, envía una solicitud a:
GET /instagram_oembed?url=<URL_OF_THE_POST>&access_token=<ACCESS_TOKEN>
Reemplaza <URL_OF_THE_POST>
por la URL de la publicación de Instagram que quieres consultar y <ACCESS_TOKEN>
por el token de acceso del cliente o el token de acceso a la app, o bien envíanoslo en un encabezado HTTP Authorization
.
Authorization: Bearer <ACCESS_TOKEN>
Si usas un token de acceso del cliente, recuerda que debes combinarlo con el identificador de la app de Meta mediante un símbolo de barra vertical; de lo contrario, la solicitud no funcionará.
Si la operación se realiza correctamente, la API responderá con un objeto JSON que incluirá el código HTML de inserción de la publicación, entre otros datos. El código HTML de inserción se asignará a la propiedad html
.
Consulta la referencia de oEmbed de Instagram a fin de obtener una lista de parámetros de cadena de consulta que puedes incluir para expandir la solicitud. También puedes incluir el parámetro de la cadena de consulta fields
para especificar los campos que deseas obtener. Si omites esta información, todos los campos predeterminados se incluirán en la respuesta.
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"
Algunos valores se truncaron y se agregaron puntos suspensivos (...
) para facilitar la lectura.
{ "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 }
El parámetro de cadena de consulta url
acepta los siguientes formatos de URL:
https://www.instagram.com/p/{media-shortcode}/
https://www.instagram.com/tv/{media-shortcode}/
https://www.instagram.com/{username}/guide/{slug}/{guide_id}
El código HTML de inserción contiene una referencia a la biblioteca de JavaScript embed.js de Instagram. Cuando la biblioteca se carga, busca el código HTML de la publicación en la página y genera la representación completa de la publicación. Si quieres cargar la biblioteca por separado, incluye el parámetro de cadena de consulta omitscript=true
en la solicitud. Para iniciar manualmente el código de inserción de HTML, llama a la función instgrm.Embeds.process()
después de cargar la biblioteca.
La publicación insertada es ajustable y se adaptará al tamaño del contenedor. Eso significa que la altura variará según el ancho del contenedor y la longitud del texto. Puedes incluir el parámetro de cadena de consulta maxwidth
en la solicitud para establecer el ancho máximo.
Recomendamos que muestres todo el código HTML de inserción de la publicación siempre que sea posible. De lo contrario, puedes obtener la URL de la imagen en miniatura de una publicación y representar eso en su lugar. Sin embargo, si haces eso, debes proporcionar una atribución clara junto a la imagen, incluida la atribución al autor original y a Instagram, y un enlace a la publicación de Instagram que estás consultando.
Para obtener la URL de una imagen en miniatura de una publicación y la información de atribución, envía una solicitud a:
GET /instagram_oembed ?url=<URL_OF_THE_POST> &maxwidth=<MAX_WIDTH> &fields=thumbnail_url,author_name,provider_name,provider_url &access_token=<ACCESS_TOKEN>
Reemplaza <URL_OF_THE_POST>
por la URL de la publicación de Instagram que quieres consultar, <MAX_WIDTH>
por el tamaño máximo de la imagen en miniatura que quieres mostrar, y <ACCESS_TOKEN>
por el token de acceso del cliente o el token de acceso a la app.
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..."
Algunos valores se truncaron y se agregaron puntos suspensivos (...
) para facilitar la lectura.
{ "thumbnail_url": "https://scontent.cdninstagram.com/v/t51.288...", "author_name": "diegoquinteiro", "provider_name": "Instagram", "provider_url": "https://www.instagram.com/" }
Cuando envíes la app para revisión, en el campo del formulario Dinos por qué solicitas oEmbed Read > Proporciona una URL en la que podamos probar lectura oEmbed, usa el punto de conexión oEmbed de Instagram para obtener el código de inserción HTML de cualquier publicación pública en tu página de Facebook o página de Instagram oficial. Luego, agrega el código de inserción HTML devuelto donde mostrarás el contenido oEmbed e inserta la URL de esa página en el campo del formulario.
Una vez que te hayan aprobado la función oEmbed Read, podrás insertar tus páginas, publicaciones o videos propios con las URL respectivas.