嗨,我很困惑最近出现在我的(较新的)应用程序中的Facebook-Error:应用程序工作正常,直到我禁用沙箱模式并尝试以普通用户身份测试应用程序。
当按照普通用户点击登录按钮时,我得到:
"发生错误。请稍后重试"或者有时:" API错误说明:发生未知错误错误消息:kError 1349045:找到了无效的平台会话:找到了无效的平台会话。"
有时会出现正常的Permission-Dialog,但在询问扩展权限后我也会收到错误...
这是我的代码:
window.fbAsyncInit = function() {
FB.init({
appId : 'XXXXXXXXXX', // App ID
channelUrl : '//' + window.location.hostname + '/fbchannel.html', // Channel File
status : true, // check login status
cookie : false, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
};
$(function(){
$('.login').click(function(e) {
e.preventDefault();
FB.login(function(response) {
if (response.authResponse) {
FB.api('/me', function(response) {
$('#output').text('Good to see you, ' + response.name + '.');
});
} else {
$('#output').text('User cancelled login or did not fully authorize.');
}
}, {scope: 'email, user_photos, publish_stream, user_likes'});
// Additional initialization code here
});
});
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
我已经尝试启用/禁用增强版身份验证对话框,并且正确设置了域名,facebook-app网址和网站。对于应用程序的管理员一切正常... 有没有人知道我做错了什么或有同样的问题?
答案 0 :(得分:0)
当您设置Facebook应用程序时,您可以设置可以使用它的URL。 我的猜测是你试图从不同于facebook应用程序设置的域中加载你的这个页面。
在Facebook应用设置中,你应该在网站 - 网站网址中设置一些内容,然后你需要从同一个域加载带有js sdk的页面。
如果需要,您可以在设置页面的 App Domain 中设置其他域,但所有域必须从您的站点URL 派生。
我创建了一个非常简单的页面,只加载了js sdk,然后尝试调用 FB.login ,然后我在同一个域上测试它,就像在设置中为该应用程序设置的那样页面,一切都很好。 然后我将该文件复制到我的localhost并在那里试了一下,确实我收到了你描述的相同错误。