Cómo solucionar el problema de oEmbed de Facebook en WordPress

A partir del 24 de octubre, Facebook ya no ofrece soporte para incrustaciones de WordPress no autenticadas. Por lo tanto, si inserta contenido de Facebook e Instagram en su sitio de WordPress, no funcionarán.

Más específicamente, los antiguos terminales oEmbed de Facebook están siendo reemplazados por otros nuevos que requieren autenticación a través de Facebook. Dado que Facebook es propietario de Instagram, los mismos requisitos se aplican también a los puntos finales oEmbed de Instagram.

En este artículo, cubriremos cómo WordPress usa los puntos finales oEmbed de Facebook e Instagram, qué se está actualizando y cómo puede arreglar las cosas para que sus incorporaciones sigan funcionando como deberían.

¡Alistemonos!

Cómo WordPress usa Embed para incrustar contenido

oEmbed es un protocolo que permite a los sitios incrustar contenido de otros sitios de terceros con solo una URL. Fue diseñado principalmente para evitar la necesidad de copiar y pegar HTML de otros sitios. WordPress usa Embed para mostrar contenido incrustado (como fotos o videos).

Todo lo que necesita hacer es colocar la URL del recurso en el área de contenido, y WordPress lo transformará automáticamente en una inserción y le mostrará una vista previa en vivo.

Insertar contenido con solo una URL en WordPress

Insertar contenido con solo una URL en WordPress

En el ejemplo anterior, pegué un enlace de video de YouTube y WordPress lo convirtió automáticamente en un video incrustado. El protocolo oEmbed es la columna vertebral de WordPress para incorporar muchos tipos de contenido, como videos, imágenes, actualizaciones y más, de varias plataformas de redes sociales.

Aunque WordPress le permite incrustar iframes limpios de cualquier proveedor oEmbed registrado, no los incrusta todos de forma predeterminada por razones de seguridad. Incorpora solo URL de ciertos proveedores de oEmbed sancionados por defecto.

La lista de Proveedores confiables de WordPress oEmbed incluye los sitios de alojamiento de contenido y las redes sociales más populares, como Imgur, Facebook, Instagram, Tumblr, YouTube, Vimeo y muchos más. Estos proveedores pueden incrustar cualquier contenido, como videos, iframes, JavaScript e incluso HTML aleatorio.

Puntos finales oEmbed de Facebook e Instagram (heredado)

Los puntos finales oEmbed de Facebook e Instagram son la columna vertebral para incorporar contenido de Facebook e Instagram en los sitios de WordPress.

Un ejemplo de cómo WordPress incorpora contenido de Facebook

Un ejemplo de cómo WordPress incorpora contenido de Facebook

Los puntos finales oEmbed de Facebook permiten que WordPress extraiga no solo el contenido principal, sino también los metadatos, como el nombre y el logotipo de la página, la fecha y la hora, la miniatura, la cantidad de me gusta, los comentarios y los recursos compartidos y la URL de la fuente.

Un ejemplo de cómo WordPress incorpora contenido de Instagram

Un ejemplo de cómo WordPress incorpora contenido de Instagram

Lo mismo se aplica a la inserción de contenido de Instagram. Puede ver no solo la imagen en la inserción, sino también información importante de metadatos relacionada con ella.

Los nuevos puntos finales “oEmbed” de Facebook e Instagram

Facebook anunció recientemente la suspensión del uso de sus terminales oEmbed existentes a partir del 24 de octubre de 2020. Ahora están llamando a estos terminales antiguos Endpoints oEmbed heredados.

El 24 de octubre de 2020, los desarrolladores deben aprovechar un token de usuario, aplicación o cliente al consultar la API Graph para obtener imágenes de perfil de usuario a través de UID, FB OEmbeds e IG OEmbeds. Los desarrolladores deben proporcionar un token de usuario o aplicación al consultar imágenes de perfil a través de un UID o ASID, aunque también se admiten tokens de cliente. Visite nuestro registro de cambios para Foto de usuarioFacebook OEmbed y Instagram OEmetrocama para obtener detalles sobre cómo comenzar a llamar a estos puntos finales de la API Graph hoy.
– Facebook para desarrolladores

Lo que necesita ahora para aprovechar la API oEmbed de Facebook

Yendo contra el naturaleza de la API web abierta de oEmbed, La nueva API oEmbed de Facebook tiene varios requisitos:

  • Necesita tener una cuenta de desarrollador en Facebook.
  • A continuación, debe tener una aplicación de Facebook registrada para generar una ID de aplicación única.
  • Luego, debe habilitar el producto oEmbed para su aplicación registrada.
  • Luego, debe generar un token de acceso a la aplicación o un token de acceso de cliente.
  • Finalmente, debes configurar la aplicación de Facebook en modo Live.

Respondiendo a estos nuevos requisitos, WordPress está eliminando Facebook e Instagram como fuentes confiables de oEmbed.

Esperamos que la próxima actualización importante de WordPress incluya estos cambios. Si está utilizando el complemento de Gutenberg, la última El lanzamiento de Gutenberg 9.0 eliminó el soporte para ellos ya.

¿Qué pasa con las antiguas incorporaciones en Facebook e Instagram?

WordPress almacena en caché las respuestas de oEmbed en su base de datos bajo la post meta o lo oculto oembed_cache tipo de publicación (actualmente solo se usa en widgets).

Dado que WordPress no elimina estos valores de forma predeterminada, el contenido incrustado seguirá existiendo en su sitio.

Pero se eliminarán si los elimina manualmente de la base de datos. Por lo tanto, cualquier incorporación de Facebook o Instagram que haya agregado antes de la fecha límite del 24 de octubre persistirá incluso después de la fecha de suspensión del uso.

Cómo insertar contenido de Facebook e Instagram después del 24 de octubre

Si intenta incrustar contenido de Facebook o Instagram después de que descontinúan los puntos finales oEmbed heredados, usted y sus usuarios pueden recibir errores HTTP 400 como respuesta.

Para ayudarnos a probar cómo aparecerán los nuevos intentos de incorporación después de la fecha límite, Facebook agregó un parámetro para puntos finales oEmbed heredados para simular el error. Lo probé y los resultados están debajo.

Una inserción simulada utilizando los puntos finales oEmbed heredados de Facebook

Una inserción simulada utilizando los puntos finales oEmbed heredados de Facebook

Las incorporaciones de respaldo de Facebook aparecerán como pequeños fragmentos (máximo 120 caracteres) dentro de las citas en bloque. También incluirá enlaces al autor y la fuente original, pero nada más.

Ni siquiera una referencia a Facebook, a excepción de los enlaces, al hacer clic que lo llevará a Facebook.

Una incrustación simulada utilizando puntos finales heredados de Instagram oEmbed

Una incrustación simulada utilizando puntos finales heredados de Instagram oEmbed

Por el contrario, las incorporaciones de respaldo de Instagram son mucho mejores con la estructura de incorporación prácticamente intacta.

Dicho esto, este es un problema temporal. Una vez que WordPress elimine los puntos finales oEmbed de Facebook e Instagram de su núcleo, los puntos finales oEmbed heredados ya no serán un problema.

La única forma de insertar contenido de Facebook e Instagram será cumplir con los requisitos de Facebook. Aprenderá a hacer precisamente eso en la siguiente sección.

Cómo solucionar el problema de oEmbed de Facebook e Instagram en WordPress

La forma más fácil de restaurar las incrustaciones de Facebook e Instagram en WordPress es usar el oEmbed Plus Complemento de Ayesh Karunaratne. Esto te ayuda a implementar los nuevos endpoints de Facebook oEmbed para reactivar las incorporaciones de Facebook e Instagram en el editor de bloques.

Complemento OEmbed Plus

El complemento de WordPress oEmbed Plus

Para comenzar, primero instale y active el complemento.

Nota: oEmbed Plus requiere PHP 7.3 o superior para funcionar. Si su host de WordPress actual aún no es compatible con las versiones PHP 7.3+, le recomendamos que busque un nuevo host.

Luego, crea un Facebook para desarrolladores cuenta, si aún no tiene una. Luego, crea una aplicación. En mi caso, llamo a mi aplicación “Sitio de WordPress”, pero puedes nombrarla como quieras.

Cree una aplicación en el portal de Facebook para desarrolladores

Cree una aplicación en el portal de Facebook para desarrolladores

La creación de una aplicación generará automáticamente una ID de aplicación para eso.

Puedes ver mucho ID de aplicación y Secreto de aplicación Yendo a Configuración → Básico panel debajo del panel de su aplicación. Tome nota de estos dos valores, ya que los necesitará más adelante.

'ID de aplicación' de Facebook y 'secreto de aplicación' para desarrolladores

‘ID de aplicación’ de Facebook y ‘secreto de la aplicación’ para desarrolladores

Mientras esté aquí, configure el URL con política de privacidad también, ya que es necesario que la aplicación funcione Vivir. Se recomienda utilizar una política de privacidad adecuada para que su aplicación no esté en la lista negra.

los Producto integrado está habilitado automáticamente de forma predeterminada, por lo que puede dejarlo como está.

Entonces ve al Configuración → Escritura pantalla en su panel de WordPress y busque el Configuración de inserción de Facebook e Instagram sección. Aquí, ingrese el ID de aplicación y Secreto de aplicación valores que anotó anteriormente.

Configurar los ajustes del complemento oEmbed Plus

Configurar los ajustes del complemento oEmbed Plus

Alternativamente, puede agregar el ID de aplicación y Secreto de aplicación para el tuyo wp-config.php Archivo. Este es el fragmento de código que necesita usar:

define('OEMBED_PLUS_FACEBOOK_APP_ID', '7168...app.id...789');  
define('OEMBED_PLUS_FACEBOOK_SECRET', '20e5...app.secret...890xyz');

¡No olvide cambiar los valores mostrados arriba por los suyos! Una vez hecho esto, guarde el archivo.

Si edita el wp-config.php archivo para configurar oEmbed Plus, automáticamente deshabilitará el ID de aplicación y Secreto de aplicación campos de formulario en su panel de WordPress. De esta manera, puede mantener en secreto las credenciales de su aplicación para otros usuarios.

¡Eso es básicamente!

Todas las nuevas incorporaciones de Facebook e Instagram ahora usarán la nueva API de autenticación para incrustar contenido en su sitio de WordPress.

Otros complementos de redes sociales dedicados, como Instagram Feed y Feed de publicaciones sociales, también están agregando soporte para los nuevos terminales oEmbed de Facebook. Sin embargo, estos complementos vienen con muchas características, por lo que pueden ser un obstáculo innecesario para su sitio web en este caso de uso específico. Sin embargo, si ya los está utilizando, puede consultarlos.

Facebook es generoso con los límites de tasas para su nueva API, por ahora. Le permiten realizar hasta 5 millones de solicitudes por día. Dado que WordPress almacena en caché las respuestas de la API oEmbed en la base de datos, una inserción no desencadenará ninguna solicitud adicional más allá de la primera. Puede referirse a Documentación oEmbed de Facebook actualizada Para más información.

abstracto

WordPress es el CMS más popular en uso en la actualidad. Asimismo, Facebook e Instagram son las plataformas de redes sociales más populares. Por tanto, este cambio afecta potencialmente a millones de sitios.