¡Confía en que "Onebox Assistant" rastree esas vistas previas de manera fiable!

Qué hace

Convierte este tipo de resultado:

(donde tu servidor no ha podido recuperar el código fuente de la página y, por lo tanto, no puede extraer las etiquetas necesarias para construir el onebox)

¡En esto!:

Simplemente proporciona una ruta alternativa para que el onebox obtenga su código fuente de la página con el que buscar metadatos cuando el servidor de destino rechaza tu conexión.

No cambia nada sobre cómo el onebox procesa el código fuente de la página para encontrar los metadatos y renderizar el cuadro.

Su propósito es permitirte ingresar los detalles y las credenciales de una API de terceros para recuperar la página en lugar de realizar una llamada HTTP normal directamente a la página de destino.

Por qué

Descubrí que se me prohibía el acceso a varios sitios comerciales desde mis servidores, por lo que los oneboxes fallaban al renderizarse. Esto ayuda esencialmente a aprovechar la confiabilidad de la API de terceros, algo así como un servicio de correo.

Por qué es rentable

Puedes usar un VPS relativamente económico y aún así obtener una funcionalidad de oneboxing confiable, incluso si tu IP o tu agente de usuario están de alguna manera en una “lista negra”.

No lo necesitas si

Estás logrando hacer oneboxing de todo tu contenido objetivo correctamente con la instalación estándar y todos los usuarios están satisfechos.

Requisitos previos

Necesitas una cuenta con una API de terceros adecuada.

Configuración

onebox assistant api base address:  https://api.embed.rocks/api/

El ejemplo anterior utiliza embed.rocks, pero en el futuro podría agregarse compatibilidad con otras API; sin embargo, embed.rocks es relativamente buena opción en este momento.

onebox assistant api base query:   ?url=

onebox assistant api options:   &skip=article,description,oembed,imextra&include=source

onebox assistant api page source field:   source

También necesitarás ingresar tu clave API proporcionada por embed.rocks.

Ver ejemplo a continuación

Esta configuración te permite ignorar la precarga (para verificar si el rastreo directo devuelve un resultado) y usar la API desde el principio.

image
por defecto DESACTIVADO

Recomiendo establecer esto en VERDADERO.

Por supuesto, esto es más costoso, pero a menudo produce mejores resultados, ya que hay algunos casos en los que la precarga se redirige a la página incorrecta porque no eres considerado confiable.

Información de soporte

Recuerda, si has intentado anteriormente hacer oneboxing de un enlace, el núcleo de Discourse almacenará el resultado en caché.

Puedes agregar una cadena de consulta aleatoria al final para superar la caché: https://mylink.com/todaynews?random=random

También puedes verificar que la API esté respondiendo, por ejemplo:

curl -X GET "https://api.embed.rocks/api/?url=https%3A%2F%2Fnews.bbc.co.uk%0A&skip=article,description,oembed,imextra&include=source" -H "x-api-key: %%%tu-clave-api%%%"

Necesitas codificar en URL el sitio al que estás llamando (el valor del parámetro url) usando algún sitio como este (¡no avalado!).

Limitaciones conocidas

  • Solo ha sido probado con un proveedor en este momento y no se ha probado en otros. Ese proveedor es https://embed.rocks (con el cual no tengo ninguna afiliación). Estoy dispuesto a considerar el soporte de más servicios si el trabajo está patrocinado.

  • El parcheo de monkey se realiza a nivel de método. Esto anula más código del necesario, lo que aumenta el riesgo de que el plugin se rompa después de una actualización del núcleo. Sin embargo, ¿no creo que haya una manera de minimizar esto aún más?

Cómo instalar plugins

Consulta la guía aquí: Install plugins on a self-hosted site

Este repositorio es: https://github.com/merefield/discourse-onebox-assistant

https://github.com/merefield/discourse-onebox-assistant

Toda retroalimentación es bienvenido. Por favor :star: en GitHub si lo encuentras útil.

41 Me gusta