0

嗨,我很疑惑最近在我的(新的)应用程序中弹出的Facebook错误:应用程序工作正常,直到我禁用沙箱模式并尝试测试应用程序作为普通用户。Facebook javascript-sdk权限对话框错误

当点击登录按钮作为普通用户,我得到:
“发生错误,请稍后再试。”有时:“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和网站设置正确。对于应用程序的管理一切工作正常... 有没有人有一个想法,我做错了什么或有同样的问题?

+0

为什么在* FB.init *中为cookie参数传递* false *? – 2012-04-05 11:05:28

+0

这只是为了测试。 cookie true也不起作用... – Matschi 2012-04-05 12:38:08

回答

0

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

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

如果你愿意,你可以设置在应用程序域在设置页面其他领域,但所有的域有必须从你的网站URL导出。

我创建了一个非常简单的页面,只有加载JS SDK,然后尝试拨打的FB.login,然后我测试了它在同一个域,因为它被设置在设置页的应用程序,一切工作大。 然后我将该文件复制到我的本地主机,并在那里尝试,并且确实收到了您描述的同样的错误。