Onebox et Amazon ne fonctionnent pas (pour moi)

Je reçois continuellement une erreur « Désolé, nous n’avons pas pu générer un aperçu pour cette page Web car la balise oEmbed / OpenGraph suivante est introuvable : description. »

Choses que j’ai validées :

  • Tous les liens testés ont une balise meta name=description.
  • Les liens créent une onebox valide sur meta.discourse

Donc, le problème ne vient pas d’une page Amazon.

Étapes pour remédier :

  • Le système est à jour (3.4.0.beta4-dev)
  • Application reconstruite avec tous les plugins supprimés. (Initialement installés : discourse-adplugin, discourse-affiliate, discourse-subscriptions, discourse-yearly-review, discourse-whos-online, discourse-data-explorer, et, DiscoTOC)
  • Application reconstruite avec tous les composants supprimés. (Initialement installés : header submenus, easy responsive footer, discotoc, et discourse ebay affiliate)
  • Serveur redémarré
  • Différents navigateurs

Onebox ne parviendra pas à extraire les informations de la page, bien que j’obtienne une Onebox réussie environ 1 fois sur 20. Cela a été très frustrant.

Donc, questions :

  1. Où trouverais-je les journaux et les informations d’erreur pour onebox ?
  2. Onebox semble avoir un mécanisme de cache. Comment vider le cache ?

Toute suggestion pour traquer le quoi et le comment serait très utile.

merci

1 « J'aime »

J’ai supprimé toutes les personnalisations logicielles des plugins et composants listés ci-dessus. J’ai reconstruit le serveur et l’ai redémarré. (Je sais que ce n’est pas Windows, mais j’essaie tout.)

Je peux maintenant faire fonctionner 9 des 10 one boxes Amazon.

Nous allons commencer à ajouter un composant et un plugin à la fois pour découvrir ce qui cause les problèmes.

Toute aide de diagnostic détaillée au-delà de ce qui suit serait utile :

1 « J'aime »

Depuis la console Rails :

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

Vous pouvez parcourir ce qui est disponible dans la classe Oneboxer.

2 « J'aime »

Secondairement, il y a aussi les InlineOneboxers, par exemple https://www.amazon.ca/Thud-Terry-Pratchett/dp/055216769X

De même, vous pouvez utiliser

InlineOneboxer.invalidate(url)
InlineOneboxer.lookup(url)
2 « J'aime »

Après avoir supprimé tous les composants et plugins et redémarré, les liens Amazon sont apparus comme des oneboxes corrects.

J’ai ensuite installé discourse-adplugin et suis immédiatement revenu à 9 échecs sur 10 tentatives. Lorsque je l’ai désactivé, j’en ai obtenu quelques-uns qui ont fonctionné, puis il est revenu au mode d’échec de non-obtention de la description.

J’ai supprimé discourse-adplugin de app.yml et l’ai reconstruit. Ensuite, j’ai redémarré le serveur. Les liens Amazon ont recommencé à fonctionner avec onebox.

Il doit y avoir un conflit avec la combinaison de plugins et de composants que j’utilise. Quelles options y a-t-il pour déboguer cela ?

1 « J'aime »

Après 12 heures de dépannage et de tests combinés de plugins et de composants, ainsi que de nombreuses reconstructions, cela fonctionne pour le moment. Nous verrons comment cela réagit au cours des deux prochaines semaines.

La seule chose qui a fondamentalement changé est l’ordre des plugins dans le fichier app.yml. Le plugin discourse-adplugin est le plugin le plus haut après 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

Je ne pensais pas que la séquence des plugins aurait de l’importance, mais c’est le cas. Lorsque discourse-adplugin était placé dans les dernières positions, les liens Amazon ne fonctionnaient pas avec Onebox.

3 « J'aime »

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