情景是
帐户设置 -> 安全 -> 登录通知已启用。请求参数[email & publish_stream] 的权限。
我第一次尝试使用 facebook 帐户登录我的网站时,我收到有关的通知
- 命名新设备。
- 请求的参数。
如果我保存设备并授予所有请求的权限,应用程序。工作正常。现在,如果我从新设备 [系统] 登录,授予请求的权限后,再次连接 facebook 将询问用户“命名新设备”。现在我在点击这两个选项时都得到了错误,并且控制没有重定向到我的应用程序。
错误是:[登录过程中可能发生错误。您可以关闭此窗口并尝试返回应用程序,但它可能会要求您再次登录。这可能是由于应用程序中的错误。],附加了错误快照。
任何否定选项[不保存,不允许] 将我带到 if(response.session) 的 else 部分,我得到 response.session NULL。关闭错误窗口后,我再次单击 facebook 登录按钮,现在 facebook connect 会自动获取会话,如果我/用户已授予请求的权限,则应用程序可以正常工作。
JavaScript 代码如下:
FB.login(function(response)
{
if (response.session)
{
console.log('Welcome! Fetching your information.... ');
var name;
var email;
var firstName;
var lastName;
FB.api('/me', function(user)
{
console.log('Good to see you, ' + user.name + '.');
if(user != null)
{
name = user.name;
email=user.email;
firstName = user.first_name;
middleName = user.middle_name;
lastName = user.last_name;
window.location.href='fbconnector.do?name='+name+'&email='+email+'
first_name='+firstName+'&last_name='+lastName+'&middle_name='+middleName;
}
});
}
else
{
alert('User cancelled login or did not fully authorize.');
}
}, {perms:'email, publish_stream'}
);