0

嗨,我对最近在我的(较新的)应用程序中弹出的 Facebook 错误感到困惑:应用程序运行良好,直到我禁用沙盒模式并尝试以普通用户身份测试应用程序。

当以普通用户身份单击登录按钮时,我得到:
“发生错误。请稍后再试”或有时:“API 错误描述:发生未知错误错误消息:kError 1349045:找到无效的平台会话。:无效已找到平台会话。” 有时会出现正常的权限对话框,但在询问扩展权限后,我也收到错误消息...

这是我的代码:

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 url 和网站。对于应用程序的管理员来说,一切正常......有人知道我做错了什么或有同样的问题吗?

4

1 回答 1

0

当你设置一个 facebook 应用程序时,你设置了可以使用它的 url。我的猜测是,您正试图从与 facebook 应用程序设置中的域不同的域加载您的此页面。

在 facebook 应用程序设置中,您应该在Website - Site Url中设置一些内容,然后您需要使用来自同一域的 js sdk 加载页面。

如果需要,您可以在设置页面的App Domain中设置其他域,但那里的所有域都必须从您的 Site URL 派生

我创建了一个非常简单的页面,它只加载 js sdk,然后尝试调用FB.login,然后我在设置页面中为该应用程序设置的同一域上对其进行了测试,一切都很好。然后我将该文件复制到我的本地主机并在那里试一试,实际上我收到了与您描述的相同的错误。

于 2012-04-05T13:03:19.937 回答