0

我想用Facebook登录我的用户,但无法弄清楚如何做到这一点。科尔多瓦/安卓 - 无法登录Facebook

这是我到目前为止的代码:

facebookConnectPlugin.getLoginStatus( 
     function(status) { 

     if (status.status != "connected") { 
      facebookConnectPlugin.login(
      ['public_profile', 'email'], 
      function(success) { 
       console.log("Success", success); 
      }, 
      function(error) { 
       console.log("Error", error); 
      } 
     ); 
     } 
     else { 
      console.log("logging status : ", status.status); 
     } 
     }, 
     function(error) { 
     console.log("Getting logging status failed : ", error); 
     } 
    ); 

在我的Android设备,我没有安装Facebook应用程序,而我没有登录到Facebook的任何浏览器。

我期望facebookConnectPlugin.login()方法弹出的登录表单,而是这是它返回:

enter image description here

基本上是指:“您没有输入您没有连接到Facebook。进入Facebook并重试“。

我看着this Meteor plugin看他们是怎么做的,但他们尊重完全一样的逻辑。

我不知道该从这里做什么。任何建议是最受欢迎的!

+0

检查我的答案在这里http://stackoverflow.com/questions/36816260/cordova-facebook-login-fb-api-call-not-工作/ 36832919?noredirect = 1#comment61264478_36832919 –

+0

@jaydroider:我不知道你的答案与我已经做的不同。你能向我解释它是怎么回事吗? –

+0

什么不在你的代码中工作,或者只是显示你在OP中发布的消息。 –

回答

1

你可以尝试代码获取登录状态read more here

var fbLoginSuccess = function (userData) { 
alert("UserInfo: " + JSON.stringify(userData)); 
facebookConnectPlugin.getLoginStatus(
    function (status) { 
     alert("current status: " + JSON.stringify(status)); 

    } 
); 

};

您可以尝试获取用户配置文件的代码。

facebookConnectPlugin.login(["public_profile","email"], 
      function (response) { 

       if(response.authResponse.userID!=''){ 
        facebookConnectPlugin.api(response.authResponse.userID+"/?fields=id,email,first_name", ["public_profile"], 
        function (response) { 
         console.log('SUCCESS:'+response); 
         alert('first_name : '+response.first_name+',email:'+response.email+',id:'+response.id); 
        }, 
        function (response) { 
         console.log('ERROR:'+response); 
        }); 
       }  

      }, 
      function (response) { 
        console.log('ERROR:'+response); 
      }); 

让我知道,如果它不工作...

+0

感谢您的帮助。然而,我得到了完全相同的结果,考虑到我们仍然使用注销用户调用'facebookConnectPlugin.login()',这导致弹出式复制粘贴在上面,这并不奇怪。任何想法如何解决这个问题? –