我使用直接从Facebook Developers页面复制的代码,在网页上添加了基本的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行,而不是我编写的任何代码。他们是:
同样在页面加载时,我收到一个php错误(如.php.1:948):
这个错误很令人费解。首先,我没有使用框架。其次,协议确实匹配,这里没有任何关于端口的信息。当然这些域名不匹配:我不是要为Facebook页面收集“喜欢”;我希望获得外部网站页面的“喜欢”。我错过了什么吗?
我通过Facebook Open Graph Object Debugger运行了URL。它带来了一些我不明白的警告。他们是:
好的,好的。但是我应该在哪里以及如何添加这些?我查看了Facebook文档并搜索了stackoverflow,但没有成功。如果这些应该被添加到div标签中的data-href字符串中,请举个例子。
答案 0 :(得分:11)
我收到了你在第一期中提到的相同的javascript警告,并在facebook代码中的URL中添加了appId参数,解决了这两个问题。所以只需改变这一行:
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
到
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=1234567891234567";
要获得Facebook appId,请访问: https://developers.facebook.com/apps
答案 1 :(得分:2)
希望你已经解决了这个问题。
但如果这对某人有帮助,那么在调用FB.init()“ - &gt; https://stackoverflow.com/a/16593474
之前,这个答案有助于调用”FB.getLoginStatus()“。答案 2 :(得分:2)
正如上面提到的@smohajer你需要添加appId但是使用新的SDK你需要做一些小改动,否则你会看到一些错误或警告:
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=1234567891234567&version=v2.2";
您必须在2015年4月30日之前升级: https://developers.facebook.com/docs/apps/upgrading
答案 3 :(得分:0)
这对我有用(在http://developwithguru.com/solve-invalid-app-id-must-be-a-number-or-numeric-string-representing-the-application-id/找到我的答案)
基本上, 1)转到开发者页面 2)创建新的应用程序 3)获得id 4)将id应用于你的代码......(js.src =“// connect.facebook.net/en_US/all.js#xfbml=1&appId=16digIdHere”;)