2017-10-07 3 views
0

Ich bin damit beschäftigt, Facebook Login für meine Django-Site zu implementieren. Ich bin mir nicht sicher, ob ich im Moment auf dem richtigen Weg bin oder weit weg bin. Ich habe den vollständigen Code implementiert, wie im FB-Beispiel https://developers.facebook.com/docs/facebook-login/web zu sehen ist. Grundsätzlich eingefügtes Skript auf der Vorlage. Ich habe den Button und sobald ich mich eingeloggt habe, habe ich den "Welcome Holing Your Information" "erfolgreichen Login für Joshua Raphael" in meiner console.log.Wie erhalte ich Benutzerfelder von Facebook Login

Wie erhalte ich jetzt die erforderliche E-Mail, den Benutzernamen und das Profilbild? Ist es ein Teil des Antwortobjekts? Wenn ich eine E-Mail-Anmeldung habe, ist es dann möglich, die Antwort-E-Mail zu erhalten und meine aktuelle Datenbank zu überprüfen, um festzustellen, ob der Benutzer bereits registriert ist?

Keine vorgefertigten django-Anwendungen verwenden, aber wenn Sie sehr ein empfehle ich kann versuchen, it.Thanks

Antwort

2

Ich nehme an, Sie dies tun:

FB.login(function(response) { 
if (response.authResponse) { 
console.log('Welcome! Fetching your information.... '); 
FB.api('/me', function(response) { 
    console.log('Good to see you, ' + response.name + '.'); 
}); 
} else { 
console.log('User cancelled login or did not fully authorize.'); 
} 

});

können Sie die Antwort console.log und sehen, was es enthält, können Sie die E-Mail, Benutzername und profilepic darin erhalten, auch können Sie die Felder angeben, wenn sie nicht da ist wie folgt:

FB.api('/me', {fields: 'last_name'}, function(response) { 
    console.log(response); 
}); 

mehr here

stellen Sie auch sicher, dass Sie E-Mail im Bereich in Login-Methode hinzugefügt haben. wie folgt aus:

FB.login(function(response) { 
    // handle the response 
}, {scope: 'public_profile,email'}); 
+0

verwende ich den Code Login-Button finden Sie hier https://developers.facebook.com/docs/facebook-login/web/login-button/. Und der vollständige Code am Ende dieser Seite: https://developers.facebook.com/docs/facebook-login/web/login-button/. Mein Problem ist FB.login ist nirgends in diesem Code. Wenn Sie auf die Login-Schaltfläche klicken, wird das Login-Formular angezeigt, aber ich weiß nicht, wo Sie die erforderlichen Felder/Bereiche bearbeiten müssen, wie Sie oben erwähnt haben. Danke – Josh

+0

Ich nehme an, das ist der Grund, warum console.log ("Connected:" + response.email) gibt mir "Connected: undefined" – Josh

+0

Ich fand heraus, dass Sie alle Felder nach FB.api ('/ me' angeben müssen , ... – Josh