Onebox y Amazon no funcionan (para mí)

Constantemente recibo un error “Lo sentimos, no pudimos generar una vista previa de esta página web porque no se pudo encontrar la siguiente etiqueta oEmbed / OpenGraph: description”.

Cosas que he validado:

  • Todos los enlaces probados tienen una etiqueta meta name=description.
  • Los enlaces crean una vista previa válida en meta.discourse.

Por lo tanto, el problema no es un problema de la página de Amazon.

Pasos para remediar:

  • El sistema está actualizado (3.4.0.beta4-dev).
  • Reconstruí la aplicación sin todos los plugins. (Inicialmente instalados: discourse-adplugin, discourse-affiliate, discourse-subscriptions, discourse-yearly-review, discourse-whos-online, discourse-data-explorer y DiscoTOC).
  • Reconstruí la aplicación sin todos los componentes. (Inicialmente instalados: header submenus, easy responsive footer, discotoc y discourse ebay affiliate).
  • Reinicié el servidor.
  • Navegadores diferentes.

Onebox no extraerá la información de la página, aunque obtendré una vista previa exitosa aproximadamente 1 de cada 20 intentos. Esto ha sido muy frustrante.

Entonces, preguntas:

  1. ¿Dónde encontraría información de registro y errores para onebox?
  2. Onebox parece tener un mecanismo de caché. ¿Cómo se vacía la caché?

Cualquier sugerencia para rastrear el qué y el cómo sería de gran ayuda.

Gracias.

1 me gusta

Eliminé todas las personalizaciones de software de los complementos y componentes mencionados anteriormente. Reconstruí el servidor y lo reinicié. (Sé que no es Windows, pero lo estoy intentando todo).

Ahora puedo hacer que 9 de cada 10 “one boxes” de Amazon funcionen.

Comenzaremos a agregar un componente y un complemento a la vez para descubrir qué está causando los problemas.

Cualquier ayuda detallada de diagnóstico más allá de lo siguiente sería útil:

1 me gusta

Desde la consola de pry:

[1] pry(main)> Oneboxer.invalidate 'https://www.amazon.ca/Thud-Terry-Pratchett/dp/055216769X'
=> 0

[2] pry(main)> Oneboxer.onebox 'https://www.amazon.ca/Thud-Terry-Pratchett/dp/055216769X'
=> "<aside class=\"onebox amazon\" data-onebox-src=\"https://www.amazon.ca/Thud-Terry-Pratchett/dp/055216769X\">\n  <header class=\"source\">\n\n      <a href=\"https://www.amazon.ca/Thud-Terry-Pratchett/dp/055216769X\" target=\"_blank\" rel=\"nofollow ugc noopener\">amazon.ca</a>\n  </header>\n\n  <article class=\"onebox-body\">\n    <img src=\"https://m.media-amazon.com/images/I/919CVPkFxjL._SL1500_.jpg\" class=\"thumbnail\">\n\n<h3><a href=\"https://www.amazon.ca/Thud-Terry-Pratchett/dp/055216769X\" target=\"_blank\" rel=\"nofollow ugc noopener\">Thud!: (Discworld Novel 34) : Pratchett, Terry: Amazon.ca: Books</a></h3>\n\n\n\n<p>Thud!: (Discworld Novel 34) : Pratchett, Terry: Amazon.ca: Books</p>\n\n<p>\n  \n  \n  \n  \n  <strong></strong>\n</p>\n\n  </article>\n\n  <div class=\"onebox-metadata\">\n    \n    \n  </div>\n\n  <div style=\"clear: both\"></div>\n</aside>\n"

Puedes examinar lo que está disponible en la clase Oneboxer.

2 Me gusta

Secundariamente, también existen los InlineOneboxers, por ejemplo, https://www.amazon.ca/Thud-Terry-Pratchett/dp/055216769X

De forma similar, puedes usar

InlineOneboxer.invalidate(url)
InlineOneboxer.lookup(url)
2 Me gusta

Después de eliminar todos los componentes y plugins y reiniciar, obtuve los enlaces de Amazon que aparecían como oneboxes correctos.

Luego instalé discourse-adplugin e inmediatamente volví a tener 9 fallos de cada 10 intentos. Cuando lo desactivé, conseguí que algunos funcionaran, y luego volvió al modo de fallo de no obtener la descripción.

Eliminé discourse-adplugin de app.yml y lo reconstruí. Luego, reinicié el servidor. Los enlaces de Amazon volvieron a funcionar con onebox.

Debe haber algún conflicto con la combinación de plugins y componentes que estoy utilizando. ¿Qué opciones hay para depurar esto?

1 me gusta

Después de 12 horas de solución de problemas y pruebas combinadas de plugins y componentes y numerosas reconstrucciones, está funcionando en este momento. Veremos cómo responde en las próximas semanas.

Lo único que ha cambiado fundamentalmente es el orden de los plugins en el archivo app.yml. El plugin discourse-adplugin es el plugin más alto después de docker_manager.

          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-adplugin
          - git clone https://github.com/discourse/discourse-affiliate
          - git clone https://github.com/discourse/discourse-subscriptions
          - git clone https://github.com/discourse/discourse-yearly-review
          - git clone https://github.com/discourse/discourse-whos-online
          - git clone https://github.com/discourse/discourse-data-explorer

No pensaría que la secuencia de los plugins importara, pero lo hizo. Cuando discourse-adplugin estaba en los últimos lugares, los enlaces de Amazon no funcionaban con Onebox.

3 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.