我正在尝试使用 PhoneGap 登录 Facebook。它似乎运作良好。但在 iOS 6.0 上,登录失败并显示消息“无法完成操作。(com.facebook.sdk 错误 5)”。
如果我没有在我的 iPhone 设置中设置帐户,插件使用浏览器登录。没有问题。但是,如果我在设置中设置帐户,它会在消息中显示。如果我关闭应用程序并再次启动,它会成功登录。
该函数检查是否已经登录。
function getLoginStatus() {
FB.getLoginStatus(function(session) {
console.log('Got the user\'s session(facebook): ', session);
if (session.status == 'connected') {
FB.api('/me', {
fields: 'id, name, email'
},
function(response) {
if (response.error) {
console.log('get user name failed');
login(); // login to Facebook.
}
else
{
console.log('FB name, ' + response.name);
console.log('FB id, ' + response.id);
console.log('FB email, ' + response.email);
siteLogin(response); // login to my site.
}
});
} else {
console.log('get user name failed 2');
login(); // login to Facebook
}
});
}
脸书登录功能
function login() {
FB.login(
function(response) {
if (response.session) {
alert('logged in');
} else {
alert('not logged in');
}
},
{ scope: "email" }
);
}
这是事件函数。
FB.Event.subscribe('auth.login', function(response) {
FB.api('/me',{ fields: 'id, name, email' }, function(response1) {
if (response1.name !== undefined)
{
siteLogin(response1); // login to my site.
}
else
{
// I think here I get the message "The operation couldn't be completed.(com.facebook.sdk error 5)"
alert('error.');
}
});
});