2

我正在尝试使用 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.');
       }
});
});
4

0 回答 0