我使用JS SDK在用户的时间轴上发布内容。我的网站使用site44托管,因此有一个http://domainname.site44.com类型的网址。这是我使用的代码:
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '{*********}', // APP ID
channelURL : 'http://domainname.site44.com/channel.html',
xfbml : true,
version : 'v2.0'
});
};
(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 = "http://connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
function share(){
FB.ui({
method: 'feed',
name: 'something',
caption: 'something',
description: (
'something'
),
link: 'http://domainname.site44.com',
picture: 'imageLinkInsertedHere'
});
}
</script>
在channel.html文件中,我有以下代码:
<script src="http://connect.facebook.net/en_US/all.js"></script>
当用户点击按钮时,我会触发share()函数,使用javascript&#39; s onclick =&#34; share()&#34;。
我在fbrell上测试了它,它完美无缺。但是,当我在我的网站上使用它时,弹出窗口会显示错误An error occurred. Please try later
。我在Stack Overflow上经历了其他类似的问题,但没有一个能帮到我们。我的APP设置中也添加了正确的域名。我做错了什么?
答案 0 :(得分:2)
appId
不得包含花括号{
/ }
。其余代码似乎很好。
但您应该知道的另一件事是Feed Dialog 现已弃用。您现在应该使用现代Share Dialog代替。这是example的相同内容。