尝试打开供稿对话框时出现以下错误。
发生错误。请稍后再试。
我是否需要让用户授权该应用在自己的墙上发布?我认为它不会,因为这不会被应用程序本身自动发布到用户的墙上。另外,当我使用管理员帐户时,我收到错误。
这是我的代码:
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'xxxxxxxxxxxxxxx', // App ID
channelURL : 'http://localhost/foods/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
oauth : true, // enable OAuth 2.0
xfbml : true // parse XFBML
});
// Additional initialization code here
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
function postToFeed() {
// calling the API ...
var obj = {
method: 'feed',
link: 'https://developers.facebook.com/docs/reference/dialogs/',
picture: 'http://fbrell.com/f8.jpg',
name: 'Facebook Dialogs',
caption: 'Reference Documentation',
description: 'Using Dialogs to interact with users.'
};
function callback(response) {
document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
}
FB.ui(obj, callback);
}
</script>
<a href="javascript:void();" onclick="postToFeed();"><img src="images/share.gif" /></a>
答案 0 :(得分:4)
当Facebook发现您的应用设置与您尝试共享的网址之间存在一些不匹配时,似乎会发生这种情况。我发现在我的情况下它发生了,因为我的FB.init中设置了错误的应用ID。 AFAIK您共享的网址必须与http://developers.facebook.com/apps中应用设置中的网站网址相对应。
有关更多提示,请参阅this thread。
答案 1 :(得分:2)
我遇到了同样的问题。我试图在页面加载后自动打开Feed对话框。 10次显示此错误的9次。代码在$(document).ready
jQuery函数中。并且似乎在代码执行时尚未加载某些facebook内容。我将代码移动到$(window).load
块(在加载所有页面内容后执行),问题已经解决。