Facebook不喜欢挂墙

时间:2013-02-19 19:34:05

标签: html facebook

我试图让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" />

1 个答案:

答案 0 :(得分:1)

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

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

您需要注意的第二件事是Facebook的抓取工具需要访问您的网址 - 只有这样,Facebook才能创建指向您网址的Feed故事。如您所述in a comment,您正在调试的URL位于本地计算机上,因此Facebook的服务器无法访问它。 Facebook不会在一个无法访问的URL上发布类似的故事(那会是什么意思?)。

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

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