LotusJeff
(Jeff Cocking)
1
我不断收到一个错误:“抱歉,由于找不到以下 oEmbed / OpenGraph 标签:description,我们无法为此网页生成预览。”
我已验证的事项:
- 所有测试过的链接都有一个 meta name=description 标签。
- 链接在 meta.discourse 上创建了一个有效的 onebox。
所以,问题不在于亚马逊页面。
补救步骤:
- 系统已更新(3.4.0.beta4-dev)
- 移除了所有插件后重建了应用程序。(最初安装的插件:discourse-adplugin、discourse-affiliate、discourse-subscriptions、discourse-yearly-review、discourse-whos-online、discourse-data-explorer 和 DiscoTOC)
- 移除了所有组件后重建了应用程序。(最初安装的组件:header submenus、easy responsive footer、discotoc 和 discourse ebay affiliate)
- 重启了服务器
- 尝试了不同的浏览器
Onebox 无法提取页面信息,尽管大约 20 次尝试中会有 1 次成功创建 Onebox。这非常令人沮丧。
所以问题是:
- 在哪里可以找到 onebox 的日志和错误信息?
- Onebox 似乎有一个缓存机制。如何清除缓存?
任何关于如何追踪问题原因和解决方案的建议都将非常有帮助。
提前感谢。
1 个赞
LotusJeff
(Jeff Cocking)
2
我已经删除了上面列出的所有插件和组件的软件自定义设置。重建了服务器并重新启动了服务器。(我知道这不是 Windows,但我正在尝试所有方法。)
我现在可以使 10 个 Amazon one boxes 中的 9 个正常工作。
我们将一次添加一个组件和一个插件,以找出导致问题的原因。
除了以下内容之外,任何详细的诊断帮助都将很有用:
1 个赞
从 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"
你可以在 Oneboxer 类 中浏览可用的内容。
2 个赞
nat
(Natalie T)
4
其次,还有 InlineOneboxers,例如 https://www.amazon.ca/Thud-Terry-Pratchett/dp/055216769X
类似地,您可以使用
InlineOneboxer.invalidate(url)
InlineOneboxer.lookup(url)
2 个赞
LotusJeff
(Jeff Cocking)
5
移除了所有组件和插件并重启后,亚马逊链接显示为正确的 onebox。
然后我安装了 discourse-adplugin,立即又回到了 10 次尝试中有 9 次失败的情况。当我关闭它时,有几个成功了,然后又回到了无法获取描述的失败模式。
我从 app.yml 中移除了 discourse-adplugin 并重建。然后,我重启了服务器。亚马逊链接再次开始正常工作,并显示为 onebox。
我使用的插件和组件组合之间一定存在冲突。有什么调试选项吗?
1 个赞
LotusJeff
(Jeff Cocking)
6
经过12小时的故障排除和插件及组件的组合测试以及多次重建,它现在可以正常工作了。我们将看看它在未来几周的反应。
唯一根本性改变的是 app.yml 中插件的顺序。discourse-adplugin 是排在 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
我本来不认为插件的顺序会很重要,但事实证明它很重要。当 discourse-adplugin 位于最后几个位置时,亚马逊链接无法与 Onebox 一起正常工作。
3 个赞
system
(system)
关闭
7
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.