Media Entity Instagram

Proporciona integración de Instagram para Drupal Media, permitiendo incrustar publicaciones de Instagram como entidades de medios utilizando la Graph API de Facebook.

media_entity_instagram
7,994 sites
24
drupal.org

Instalar

Drupal 11, 10 v4.0.0
composer require 'drupal/media_entity_instagram:^4.0'
Drupal 9, 8 v3.0.8
composer require 'drupal/media_entity_instagram:^3.0'

Overview

Media Entity Instagram es un módulo proveedor de fuentes de medios que integra contenido de Instagram en el sistema Media del núcleo de Drupal. Permite a los constructores de sitios crear un tipo de Media dedicado para publicaciones de Instagram, que luego pueden incrustarse en todo el sitio utilizando las capacidades de gestión de medios de Drupal.

El módulo aprovecha la API oEmbed de Facebook (a través de la Graph API) para obtener metadatos y código HTML de incrustación de publicaciones de Instagram. Este enfoque asegura la representación correcta de las publicaciones de Instagram con su estilo e interactividad originales. Dado que la API de Instagram ahora es parte del ecosistema de Facebook, el módulo requiere credenciales de desarrollador de Facebook (App ID y App Secret) para funcionar.

Las capacidades principales incluyen extracción automática de metadatos (nombre del autor, shortcode), visualización de incrustación personalizable con opciones de visibilidad de subtítulos, e integración perfecta con la biblioteca de medios de Drupal para facilitar la selección e inserción de contenido.

Features

  • Crea un plugin de fuente de medios de Instagram que extiende el sistema oEmbed de Drupal para manejar publicaciones de Instagram y contenido de IGTV
  • Proporciona un formateador de campo dedicado (Instagram embed) con opciones para controlar el ancho máximo y la visibilidad del subtítulo
  • Se integra con la biblioteca de medios de Drupal, proporcionando un formulario personalizado para agregar fácilmente contenido de Instagram
  • Extrae metadatos de URLs de Instagram incluyendo shortcode, nombre del autor, miniatura y HTML de incrustación
  • Soporta múltiples formatos de URL de Instagram incluyendo instagram.com/p/, instagr.am/p/, instagram.com/tv/ e instagr.am/tv/
  • Incluye integración JavaScript para procesar incrustaciones de Instagram y renderizarlas correctamente en el frontend
  • Crea y configura automáticamente campos de origen al configurar un nuevo tipo de medios de Instagram

Use Cases

Incrustar publicaciones de Instagram en contenido

Los editores de contenido pueden agregar publicaciones de Instagram a artículos creando entidades de medios de Instagram. Simplemente pegue una URL de publicación de Instagram (por ejemplo, https://instagram.com/p/ABC123) al crear medios, y la publicación se incrustará con interactividad completa incluyendo me gusta, comentarios y enlaces de perfil.

Construir feeds de redes sociales

Los constructores de sitios pueden crear vistas de medios de Instagram para mostrar feeds de redes sociales curados. Combinado con otros módulos de redes sociales, esto permite una integración completa de redes sociales en el sitio.

Integración con Media Library para WYSIWYG

Al usar CKEditor con Media Library, los editores pueden insertar incrustaciones de Instagram directamente en campos de texto enriquecido a través del diálogo familiar de Media Library, manteniendo flujos de trabajo de gestión de contenido consistentes.

Incrustación de videos IGTV

El módulo soporta URLs de IGTV (instagram.com/tv/) además de publicaciones regulares, permitiendo a los sitios incrustar contenido de video de Instagram de formato largo junto con publicaciones estándar.

Tips

  • Cree su App de Facebook en developers.facebook.com y habilite la función oEmbed Read para obtener sus credenciales
  • El módulo soporta tanto los formatos de URL instagram.com como el más corto instagr.am
  • Use la opción del formateador 'Ocultar subtítulo' cuando quiera mostrar solo el contenido visual sin el texto original de la publicación
  • Los campos de origen para medios de Instagram pueden ser campos de texto plano o de enlace, dando flexibilidad en cómo se almacenan las URLs

Technical Details

Admin Pages 1
Configuración de Instagram /admin/config/media/instagram-settings

Configura las credenciales de la API de Facebook requeridas para obtener contenido de Instagram a través de la API oEmbed. Estas credenciales autentican las solicitudes a la Graph API de Facebook que maneja los datos de incrustación de Instagram.

Hooks 1
hook_oembed_resource_url_alter

Altera la URL del recurso oEmbed para solicitudes de Instagram. Este hook modifica la URL para usar el endpoint de la Graph API de Facebook y añade el token de acceso requerido (compuesto por App ID y App Secret).

Troubleshooting 4
Las incrustaciones de Instagram no se cargan o muestran el error 'Las credenciales de Facebook no han sido configuradas'

Navegue a /admin/config/media/instagram-settings e ingrese su App ID y App Secret de Facebook. Estas credenciales deben ser de una app de desarrollador de Facebook con acceso a la API oEmbed habilitado.

Las publicaciones de Instagram se muestran como texto plano en lugar de contenido incrustado

Asegúrese de que la visualización del tipo de medios de Instagram esté configurada para usar el formateador 'Instagram embed'. Verifique la configuración de visualización en /admin/structure/media/manage/[tipo]/display.

Errores de limitación de tasa de API o autenticación

Verifique que su App de Facebook esté correctamente configurada en el Portal de Desarrolladores de Facebook con el permiso oEmbed Read. Compruebe que su app no esté en modo de Desarrollo si necesita acceso de nivel de producción.

El contenido incrustado no se renderiza en la vista previa de CKEditor

Esta es una limitación conocida. Las incrustaciones de Instagram pueden no renderizarse completamente en la vista previa del iframe de CKEditor pero se mostrarán correctamente en la página publicada.

Security Notes 2
  • El App Secret de Facebook se almacena en la configuración de Drupal. Asegúrese de que su configuración no se exporte a repositorios públicos.
  • El módulo está cubierto por la política de avisos de seguridad de Drupal, asegurando que los problemas de seguridad se manejen a través del proceso oficial de seguridad de Drupal.