2017-10-07 2 views
1

Ich benutze the official Cordova Facebook plugin um Facebook Login in meiner mobilen App zu implementieren. Ich habe seit Tagen versucht, den folgenden Code funktionieren zu lassen, aber ich weiß nicht, wo das Problem ist. Ich muss nur die E-Mail, den Namen und das Geschlecht des Benutzers abrufen. Ich bekomme nur die accesstoken, ich weiß, dass ich die API-Funktion aufrufen müssen, aber es gibt auch die accesstokenCordova Facebook login returns only accessToken

<div onclick="login();apiTest();">Login with Facebook</div> 
<script> 
     var login = function() { 
      facebookConnectPlugin.login(["public_profile"], 
       function (response) { alert(JSON.stringify(response)) }, 
       function (response) { alert(JSON.stringify(response)) }); 
     } 

     var apiTest = function() { 
      facebookConnectPlugin.api("me/?fields=id,email,name,gender", 
       function (response) { alert(JSON.stringify(response)) }, 
       function (response) { alert(JSON.stringify(response)) }); 
     } 
</script> 

Bitte helfen, danke

Antwort

1

Sie müssen warten, bis der Login tatsächlich getan wird, Ist asynchron. Außerdem benötigen Sie die E-Mail-Berechtigung, um die E-Mail-Adresse zu erhalten:

<div onclick="login();">Login with Facebook</div> 
<script> 
     var login = function() { 
      facebookConnectPlugin.login(["email", "public_profile"], 
       function (response) { 
        facebookConnectPlugin.api("me/?fields=id,email,name,gender", 
         function (response) { alert(JSON.stringify(response)) }, 
         function (response) { alert(JSON.stringify(response)) }); 
       }, 
       function (response) { alert(JSON.stringify(response)) }); 
     } 
</script> 
+0

Vielen Dank. Ich habe jetzt einen anderen Fehler Uncaught ReferenceError: require ist nicht definiert bei facebookConnectPlugin.js: 181 var exec = erfordern ("cordova/exec"); –

+0

Sie können eine Menge Informationen über diesen Fehler mit Google finden, dies kann Ihnen helfen: https://github.com/ionic-team/ng-cordova/issues/446 – luschn