Facebook Javascript SDK发布到feed给出"发生错误.请稍后再试"错误

Facebook Javascript SDK post to feed giving "An error occured. Please try later" error

本文关键字:错误 quot Javascript SDK feed 给出 Facebook      更新时间:2023-09-26

我正在使用JS SDK在用户的时间轴上发布一些东西。我的网站是使用site44托管的,所以有一个类型http://domainname.site44.com的url。这是我使用的代码:

<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>
当用户使用javascript的onclick="share()"点击按钮时,触发share()函数

我在fbrell上测试了这个,它工作得很好。然而,当我使用它在我的网站上弹出一个错误说An error occurred. Please try later。我在Stack Overflow上问过其他类似的问题,但没有一个有帮助。我的APP设置中也添加了正确的域名。我做错了什么?

appId不能包含花括号{/}。剩下的代码看起来不错。

但是你应该知道的另一件事是提要对话框现在已不支持。你现在应该使用现代的共享对话框。下面是示例