如何调试 Facebook 调试器?
问题详细描述:
我在自托管的 WordPress 网站上使用“帖子和页面中的开放图谱协议”插件手动输入帖子的 OG 数据。在将其分享到 Facebook 之前,我使用 FB 调试器工具测试帖子的 URL,并且结果总是正确的。
然而,最近调试器返回了这个错误消息:“Linting URL 错误:在对 URL 进行 Linting 时发生内部错误”,几天来我都无法摆脱它。我尝试了多次进行调试,但没有帮助。它被卡住了。我通过谷歌搜索寻找解决方案,但没有找到任何信息。也许我错了,但这个错误消息似乎很少见。
我不是专家,但我认为调试器工具由于我的帖子中存在双重 OG 数据而感到困惑:
1. 我手动插入插件“帖子和页面中的开放图谱协议”的 OG 信息。 2. JWPlayer WordPress 插件插入视频到帖子中时自动生成的 OG 信息。
我只需要第一个,我通常会删除 JWPlayer 的自定义字段,但这一次我忘记这么做了。
在调试器返回错误消息后,我删除了 JWP 自定义字段,希望它们引起了某些冲突,我保存了帖子并尝试再次调试。调试器再次返回错误消息。
Graph API 看到我的帖子中过时的信息,并且不会刷新它,即使我已经在帖子中更正了所有内容并进行了多次调试。对我来说,调试器看到了 URL 中的错误并且无法忘记它。
我甚至删除了帖子,将其内容复制并粘贴到新的帖子中,并赋予其相同的标题(失去那些可能跟随短链接但仍然访问的访客)。调试器同样对重新发布的帖子做出反应。错误消息再次出现。我在调试器中测试了我的其他帖子,一切都很完美。显然调试器记住了这个特定的 URL,原因不明。如果我使用不同的标题重新发布帖子,则问题将消失。
我将有问题的 URL 分享到 Facebook 上,奇怪的是它显示了正确的数据。一切似乎都没问题:标题、描述、缩略图等... 但是,我测试帖子中的“分享”按钮,它在 Facebook 上显示了错误的数据,即使我已经更正了它。调试器看到的数据不再在帖子中,所以我被迫移除“分享”按钮,以免游客在 Facebook 上分享错误的信息。
现在我处于一个自相矛盾的境地,试图找到一种方法来调试调试器。如何清除其内存,使其忘记我的 URL,并且我可以从零开始重新开始?
正如您所见,我不是这些问题的专家。我花费了巨大的时间和资源来构建我的网站,没有任何 PHP 和 CSS 的先前知识,现在由于这些 Facebook 问题,一切都变得混乱。我正在浪费宝贵的时间处理这些无聊的事情。为什么一切都必须如此复杂?我请求所有开发者,请制定一个好的、简单的、用户友好的和有效的标准,并坚持遵循。请停止让一切变得复杂化。现在是什么错误消息?调试器根本没有提供解
问题详细描述:
我在自托管的 WordPress 网站上使用“帖子和页面中的开放图谱协议”插件手动输入帖子的 OG 数据。在将其分享到 Facebook 之前,我使用 FB 调试器工具测试帖子的 URL,并且结果总是正确的。
然而,最近调试器返回了这个错误消息:“Linting URL 错误:在对 URL 进行 Linting 时发生内部错误”,几天来我都无法摆脱它。我尝试了多次进行调试,但没有帮助。它被卡住了。我通过谷歌搜索寻找解决方案,但没有找到任何信息。也许我错了,但这个错误消息似乎很少见。
我不是专家,但我认为调试器工具由于我的帖子中存在双重 OG 数据而感到困惑:
1. 我手动插入插件“帖子和页面中的开放图谱协议”的 OG 信息。 2. JWPlayer WordPress 插件插入视频到帖子中时自动生成的 OG 信息。
我只需要第一个,我通常会删除 JWPlayer 的自定义字段,但这一次我忘记这么做了。
在调试器返回错误消息后,我删除了 JWP 自定义字段,希望它们引起了某些冲突,我保存了帖子并尝试再次调试。调试器再次返回错误消息。
Graph API 看到我的帖子中过时的信息,并且不会刷新它,即使我已经在帖子中更正了所有内容并进行了多次调试。对我来说,调试器看到了 URL 中的错误并且无法忘记它。
我甚至删除了帖子,将其内容复制并粘贴到新的帖子中,并赋予其相同的标题(失去那些可能跟随短链接但仍然访问的访客)。调试器同样对重新发布的帖子做出反应。错误消息再次出现。我在调试器中测试了我的其他帖子,一切都很完美。显然调试器记住了这个特定的 URL,原因不明。如果我使用不同的标题重新发布帖子,则问题将消失。
我将有问题的 URL 分享到 Facebook 上,奇怪的是它显示了正确的数据。一切似乎都没问题:标题、描述、缩略图等... 但是,我测试帖子中的“分享”按钮,它在 Facebook 上显示了错误的数据,即使我已经更正了它。调试器看到的数据不再在帖子中,所以我被迫移除“分享”按钮,以免游客在 Facebook 上分享错误的信息。
现在我处于一个自相矛盾的境地,试图找到一种方法来调试调试器。如何清除其内存,使其忘记我的 URL,并且我可以从零开始重新开始?
正如您所见,我不是这些问题的专家。我花费了巨大的时间和资源来构建我的网站,没有任何 PHP 和 CSS 的先前知识,现在由于这些 Facebook 问题,一切都变得混乱。我正在浪费宝贵的时间处理这些无聊的事情。为什么一切都必须如此复杂?我请求所有开发者,请制定一个好的、简单的、用户友好的和有效的标准,并坚持遵循。请停止让一切变得复杂化。现在是什么错误消息?调试器根本没有提供解
{
"url": "http://mydomain/post-title/",
"type": "video.movie",
"title": "",
"image": [
{
"url": "http://mydomain/uploads-folder/post-title-video-thumbnail.jpg"
},
{
"url": "http://mydomain/uploads-folder/post-thumbnail.jpg"
}
],
"video": [
{
"url": "http://mydomain/uploads-folder/jw-player-plugin-for-wordpress/player/player.swf?file=http\u00253A\u00252F\u00252Fmydomain\u00252Ffiles\u00252Fvideo-title.flv&controlbar=bottom&dock=false&autostart=false&height=331&width=545&captions.back=false&captions.fontsize=12&captions.state=true&icons=true&playlist.position=none&playlistsize=180&repeat=none&shuffle=false&bufferlength=1&smoothing=true&stretching=uniform&wmode=opaque&mute=false&volume=90&plugins=captions-1\u00252Cgapro-2\u00252C&gapro.accountid=UA-76476476476-1&gapro.trackstarts=true&gapro.trackpercentage=true&gapro.tracktime=true",
"type": "application/x-shockwave-flash",
"width": 545,
"height": 331
}
],
"description": "",
"site_name": "here's the name",
"updated_time": "2012-12-05T20:09:40+0000",
"id": "754654658476545"
经过更正后,调试器应该看到的是这样的内容,但它未能实现。然而,当URL被粘贴在Facebook上时,它显示得正确:
{
"url": "http://mydomain/post-title/",
"type": "website",
"title": "here's the title",
"image": [
{
"url": "http://mydomain/uploads-folder/post-thumbnail.jpg"
}
],
"description": "This is a story about...",
"site_name": "my site",
"updated_time": "2012-12-05T20:11:56+0000",
"id": "754654658476545"
}
通过按钮分享时,显示的是之前错误的数据。
video
键下的URL已经损坏,因为所有百分号的实例都被替换为Unicode代码点引用(即\u0025
而不是%
)。然而,这种语法对于URL来说并没有定义,因此如果没有一些JS层进行反向替换,您的URL将无法正确解释。 - collapsar