1

我正在尝试将 Facebook Like 按钮发布到墙上,但它不会。我不确定为什么当我复制 + 粘贴 Facebook 网站提供的代码时。当我在检查器中检查网络面板时,我看到与 Facebook 建立了 200-OK 连接。当我去我的 Facebook 墙时,我没有看到那个帖子。当我尝试点赞其他网站的内容时,我发现它会立即贴在我的墙上。

<div class="fb-like services" data-href="http://www.my-url.com/" data-send="false" data-show-faces="false" data-layout="button_count"></div>

<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<meta property="og:title" content="My Site" />
<meta property="og:type" content="game" />
<meta property="og:url" content="http://www.my-url.com" />
<meta property="og:image" content="" />
<meta property="og:site_name" content="My Site" />
<meta property="fb:admins" content="100002412494318" />
4

1 回答 1

1

正如对 OP 的评论中所述,这里有两个问题可能会导致您的类似插件出现问题。

首先,必须注意og:meta在您想要放置“赞”按钮的 URL 上实现一些标签。这些元标签帮助 Facebook 决定在用户​​墙/时间轴上发布的故事中使用什么标题、描述和图像。

您需要注意的第二件事是 Facebook 的爬虫必须能够访问您的 URL - 只有这样 Facebook 才能创建指向您的 URL 的提要故事。正如您在评论中所说,您正在调试的 URL 位于您的本地计算机上,因此 Facebook 的服务器无法访问它。Facebook 不会在无法访问的 URL 上发布类似的故事(这样做有什么意义?)。

为了确保您的“点赞”按钮正常运行,您需要等到 Facebook 的服务器可以访问您的 URL。如果您将网站上传到“真实”的实时服务器,您仍然可以使用密码和 IP 限制来限制对该 URL 的访问。在这种情况下,您可能会将Facebook 的服务器 IP 地址包含到您的白名单中,或者使用其他方法(可能检查用户代理)来允许 Facebook 访问您的 URL 及其og:meta标签。

Facebook 为我们提供了调试此类问题的绝佳机会。这个工具被恰当地命名为Facebook 调试器。它将检查您提供的 URL,列出它检索到的数据并准确显示 Facebook 如何看待您的网站。它还会提醒您任何丢失的数据,并建议纠正这些问题的步骤。

于 2013-02-19T21:06:17.500 回答