我使用直接从 Facebook 开发人员页面复制的代码,将基本的 Facebook“赞/分享”按钮添加到网页。代码有两部分:一个javascript块和一个带有“fb-like”类的div标签继承javascript:
<div id="fb-root"></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>
这是我希望按钮出现的 div 标签:
<div class="fb-like" data-href="http://www.bethcake.com" data-width="90" data-layout="button_count" data-action="like" data-show-faces="false" data-share="true"></div>
以下是我遇到的问题:
当网页加载时,我收到 2 个 javascript 警告。警告指的是 connect.facebook.net 源代码第 233 行,而不是我编写的任何代码。他们是:
- 无效的应用程序 ID:必须是表示应用程序 ID 的数字或数字字符串。
- 在调用 FB.init() 之前调用 FB.getLoginStatus()。
同样在页面加载时,我得到一个 php 错误(like.php.1:948):
- 阻止来源为“ http://www.facebook.com ”的框架访问来源为“ http://www.bethcake.com ”的框架。协议、域和端口必须匹配。
这个错误令人费解。首先,我没有使用框架。其次,协议确实匹配,这里没有关于端口的内容。当然域不匹配:我不是想为 Facebook 页面收集“喜欢”;我想获得外部网站页面的“赞”。我错过了什么吗?
我通过 Facebook Open Graph Object Debugger 运行 URL。它带来了一些我不明白的警告。他们是:
- 缺少 fb:admins 和 fb:app_id 标签。
- og:title、og:type 和 og:image 缺失。
- og:url、go:title、go:description 和 go:image 属性应显式提供
好的。但是我应该在哪里以及如何添加这些?我查看了 Facebook 文档并搜索了 stackoverflow,但没有成功。如果这些应该被添加到 div 标签中的 data-href 字符串中,请给我一个例子。