Insertar una publicación de Instagram

Puedes consultar el extremo oEmbed de Instagram para obtener el código HTML de inserción y los metadatos básicos de una publicación de Instagram a fin de mostrarla en otro sitio web u otra aplicación. Admite las publicaciones del feed, reels, vídeos y fotos.

Ve al Servicio de ayuda de Instagram para saber cómo obtener el código de inserción de una publicación o un perfil públicos de Instagram.

Usos habituales

  • Insertar una publicación en un blog.
  • Insertar una publicación en un sitio web.
  • Representar una publicación en un sistema de gestión de contenido.
  • Representar una publicación en una aplicación de mensajería.

Requisitos

En esta guía se da por sentado que eres un desarrollador de Meta registrado y que has creado una aplicación de Meta.

Necesitarás lo siguiente:

Niveles de acceso

Identificadores de acceso

URL base

Se puede acceder a todos los extremos desde el host graph.facebook.com.

Extremos

Funciones

Limitaciones

  • El extremo oEmbed de Instagram solo está diseñado para utilizarse para insertar contenido de Instagram en sitios web y aplicaciones. No está destinado a ningún otro fin. Queda estrictamente prohibido utilizar contenido de vídeos, publicaciones, páginas y metadatos (o sus derivados) del extremo para finalidades que no sean proporcionar una vista de front-end de la página, la publicación o el vídeo. Esta prohibición abarca el consumo, la manipulación, la extracción o la conservación de los metadatos y el contenido, lo que incluye, sin limitación, la derivación de información sobre páginas, publicaciones y vídeos de los metadatos con fines de análisis.
  • No se admiten las publicaciones en las cuentas de Instagram privadas, inactivas o con restricciones de edad.
  • No se admiten las cuentas que tienen las inserciones desactivadas.
  • No se admiten las historias.
  • El DOM paralelo no se admite.

Límites de frecuencia

Los límites de frecuencia dependen del tipo de identificador de acceso que la aplicación incluye en cada solicitud.

Límites de frecuencia de los identificadores de la aplicación

Las aplicaciones que dependen de identificadores de acceso a la aplicación pueden realizar hasta cinco millones de solicitudes cada 24 horas.

Límites de frecuencia de los identificadores de acceso del cliente

Los límites de frecuencia de los identificadores de acceso del cliente son considerablemente menores que los del identificador de la aplicación. No revelamos la limitación real, ya que cambiará en función de la actividad de la aplicación. No obstante, puedes suponer con seguridad que tu aplicación no alcanzará el límite, a menos que muestre un comportamiento similar al de un bot; por ejemplo, si procesa por lotes miles de solicitudes o envía miles de solicitudes por agente o usuario de la aplicación.

Obtener el código HTML de inserción

Puedes obtener el código HTML de inserción mediante programación o en la aplicación de Instagram.

Para obtener el código HTML de inserción de una publicación de Instagram mediante programación, envía una solicitud:

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 quieras consultar y <ACCESS_TOKEN> por el identificador de acceso del cliente o a la aplicación, o bien pásanoslo en un encabezado HTTP Authorization.

Authorization: Bearer <ACCESS_TOKEN>

Si utilizas un identificador de acceso del cliente, recuerda que debes combinarlo con el identificador de tu aplicación de Meta con una barra vertical, ya que, de lo contrario, se producirá un error en la solicitud.

Si la operación se realiza correctamente, la API responderá con un objeto JSON que contendrá el código HTML de inserción de la publicación, junto con datos adicionales. El código HTML de inserción se asignará a la propiedad html.

Consulta la referencia de oEmbed de Instagram para obtener una lista de los parámetros de cadena de consulta que puedes incluir para aumentar la solicitud. También puedes incluir el parámetro de cadena de consulta fields para especificar los campos que quieres que se te devuelvan. Si se omite, todos los campos predeterminados se incluirán en la respuesta.

Ejemplos de solicitudes

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"

Ejemplo de respuesta

Algunos valores se truncan con puntos suspensivos (...) por motivos de legibilidad.

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

Formatos de URL

El parámetro de la cadena de consulta url acepta los formatos de URL siguientes:

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

JS de inserción

El código HTML de inserción contiene una referencia a la biblioteca de JavaScript embed.js de Instagram. Cuando la biblioteca se carga, examina la página para obtener el código HTML de la publicación y genera la publicación completamente representada. Si quieres que la biblioteca se cargue por separado, incluye el parámetro de cadena de consulta omitscript=true en la solicitud. Para inicializar manualmente el código HTML de inserción, llama a la función instgrm.Embeds.process() después de cargar la biblioteca.

Tamaño de la publicación

La publicación insertada tiene capacidad de respuesta y se adaptará al tamaño del contenedor. Esto significa que la altura variará en función de la anchura del contenedor y la longitud del texto. Para establecer la anchura máxima, incluye el parámetro de cadena de consulta maxwidth en la solicitud.

Obtener miniaturas

Se recomienda representar todo el código HTML de inserción de la publicación siempre que sea posible. Si no puedes hacerlo, puedes obtener la URL de la imagen en miniatura de una publicación y representarla. Sin embargo, si lo haces, debes proporcionar una atribución clara junto a la imagen, que incluya la atribución al autor original y a Instagram, así como un enlace a la publicación de Instagram que estás consultando.

Para obtener la URL de la miniatura y la información de atribución de una publicación, envía una solicitud:

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 miniatura que quieres representar y <ACCESS_TOKEN> por el identificador de acceso del cliente o a la aplicación.

Ejemplo de solicitud

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

Ejemplo de respuesta

Algunos valores se truncan con puntos suspensivos (...) por motivos de legibilidad.

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

Envío de la aplicación a revisión

Cuando envíes la aplicación a revisión, en el campo Indícanos por qué solicitas oEmbed Read > Proporciona una URL en la que podamos probar oEmbed Read del formulario, utiliza el extremo oEmbed de Instagram para obtener el código HTML de inserción de cualquier publicación pública en nuestra página oficial de Facebook o de Instagram. A continuación, añade el código HTML de inserción devuelto en el lugar en que se mostrará el contenido oEmbed e introduce la URL de dicha página en el campo del formulario.

Una vez que hayas recibido aprobación para la función oEmbed Read, podrás insertar tus páginas, publicaciones o vídeos con sus URL correspondientes.