如何调试 facebook 调试器?
问题的详细描述:
我在帖子和页面中使用"开放图谱协议"插件为我自己托管的wordpress网站上的帖子手动输入OG数据。在Facebook上分享它们之前,我在FB调试工具中测试帖子的网址,结果总是正确的。
但是,最近调试器返回了以下错误消息:"错误链接URL:在绘制URL时出现内部错误"而我几天都无法摆脱它。我试图再次调试几次,它没有帮助。它被卡住了。我用谷歌搜索解决方案,但我找不到任何解决方案。我可能错了,但这个错误信息似乎很少见。
我不是专家,但我认为调试工具在某种程度上被我帖子中的双OG数据搞糊涂了:
我只需要第一个,我ussualy删除JWPlayer的自定义字段,但这次我忘了这样做。
在调试器返回错误消息后,我删除了JWP自定义字段,希望它们引起一些冲突,我保存了帖子并尝试再次调试。调试器再次返回错误消息。
Graph API看到有关我帖子的过时信息,但它不会刷新它,虽然我更正了帖子中的所有内容,然后我调试了好几次。在我看来,调试器在我的URL中看到了一个错误,并且不会忘记它。
我甚至删除了帖子,将其内容复制并粘贴到一个新帖子并给它相同的标题(失去那些可能跟随短暂固定链接的访问者,但无论如何)。调试器以相同的方式对重新发布的帖子做出反应。再次出现错误消息我在调试器中测试了我的其他帖子,一切都很完美。显而易见的是,调试器记住了这个特定的url。如果我在网址的不同标题下重新发布帖子,问题就会消失。
我向Facebook分享了这个有问题的网址,奇怪的是它显示了正确的数据。一切似乎都没问题:标题,描述,缩略图等...但是,我测试了我的帖子中的分享按钮,它在Facebook上显示错误的数据,虽然我已经纠正了它。调试器会看到不再在帖子中的数据。出于这个原因,我被迫删除了分享按钮,因此访问者不会在Facebook上分享错误的信息。
现在我处于矛盾状态,试图找到一种方法来调试调试器。如何刷新它的记忆,以便忘记我的网址,我可以从零开始重新开始?
如您所见,我不是这些问题的专家。我花了很多时间和资源来构建我的网站,而没有任何PHP和CSS的知识,现在一切都因为这些facebook错误而下地狱。我在处理这种缺陷时失去了宝贵的时间。为什么一切都必须如此复杂?我问所有开发人员,请制作一个好的,简单的,用户友好的工作标准并坚持下去。请停止复杂化。现在这个错误信息是什么?调试器提供绝对没有解释和解决方案。它没有解决问题,而是陷入困境并成为一个问题本身。人们唯一能做的就是等待希望错误会自行消失。这是纯粹的不存在。
其他细节:
这就是Graph API在我的网址中看到的内容。虽然该数据不再有效,但调试器仍会记住它。您可以看到JWPLayer插件自动插入的视频OG:
{
"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"
这是调试人员在更正后应该看到的内容,但它没有这样做。但是,当网址粘贴在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"
}
通过按钮分享时,会显示之前的错误数据。
答案 0 :(得分:1)
强制Facebook抓取工具重新获取您的数据:
https://developers.facebook.com/docs/sharing/opengraph/using-objects#update
Facebook抓取工具将重新抓取(并因此更新)对象:
每隔30天在对象调试器中输入对象URL 在第一次刮擦之后当应用程序使用API触发刮擦时 endpoint此Graph API端点只是对以下内容的调用:
<div class="modal fade" id="myModal" ng-model="mymodel"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h2 class="modal-title">Are you sure want to Change in Amount?</h2> </div> <div class="modal-body"> <p class="text-danger" style="font-size:initial;color:black;font:200">Click save to change the Amount.…</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-inverse" onclick="savedata()">Save</button> <button type="button" data-dismiss="modal" class="btn btn-inverse">Cancel</button> </div> <div class="row-fluid span12"> </div> </div> </div> </div>
id参数可以是对象的规范URL,也可以是 图中对象实例的ID。