将Facebook共享按钮与动态内容集成的最简单说明

时间:2014-11-06 18:49:48

标签: javascript facebook sdk share facebook-social-plugins

这不是火箭科学。看起来它应该是如此简单,我已经明确地遵循了文档,并以100种不同的方式对其进行了修改。但我不能为我的生活在所有正确的地方得到所有正确的动作,我能找到的每个教程或SO帖子现在都已被弃用。

我已经设置了Facebook应用。

我在身体开口处有这个:

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '722388634521999',
      xfbml      : true,
      version    : 'v2.2'
    });
  };

  (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/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>

我有你能想象的每个元标记。

我有分享按钮代码,我想要分享按钮:

<div class="fb-share-button" data-href="http://gd-web.brooklynunited.com" data-layout="button"></div>

我只有两个模板上的Facebook共享,但一个共享用户所在的显式页面(个别博客帖子),另一个共享全局网站网址(即不是用户所在的页面)。用户应该能够单击FB共享按钮并获取我在元标记中填充的标题,描述和图像以发布到他们的个人资料。对不对?!

我觉得我正在服用疯狂的药片。

值得注意的是,想要一个模态。

我所拥有的将激活分享,但不会拉动任何元。没有描述,没有图像,虚无..对不起,应该提供更全面的解释。

任何帮助都非常感谢,并且您是互联网上的BFD(大笔交易),请将此作为博客文章或为Facebook工作并帮助他们撰写文档。

结束。

2 个答案:

答案 0 :(得分:0)

我认为问题在于Facebook将您的开发网站视为重定向到生产网站。当FB抓取工具访问og:url元标记时,它会立即转到该URL并查找有关内容对象的更多信息。

我确信,如果您将og:url更改为您的开发网址,则共享将按预期工作。追踪此类问题的一个很好的工具是Facebook Object Debugger

答案 1 :(得分:0)

更新:og:url更改必须在共享页面(index.html)上进行,而不是我所在的页面。然后,根据@ chris上面的评论,清除Facebook上基本URL和两个模板URL上的缓存数据。这些都不会在本地工作,只能在实时网址上使用。

还必须将FB管理员ID更改为我自己的个人ID,而不是组织的ID,原因完全不明原因。

我将自己做一个明确的博客文章。浪费了很多时间。

谢谢,全部!