2017-10-07 8 views
0

Je suis occupé à implémenter la connexion Facebook pour mon site django. Je ne suis pas sûr de savoir si je suis sur la bonne piste ou si je suis loin de la balle pour le moment. J'ai implémenté le code complet comme vu dans l'exemple FB doc https://developers.facebook.com/docs/facebook-login/web. Script inséré basiquement sur le modèle. J'ai le bouton et une fois que je me suis connectée, j'ai le lien «Welcome fetching your information» (Connexion réussie) pour «Joshua Raphael» dans mon fichier console.log.Comment obtenir des champs d'utilisateur à partir de Facebook login

Comment puis-je obtenir le courriel, le nom d'utilisateur et l'image de profil requis? Est-ce une partie de l'objet de réponse? Aussi, si j'ai une connexion par e-mail, est-il possible d'obtenir l'email de réponse et de vérifier ma base de données actuelle pour voir si l'utilisateur est déjà inscrit?

Je préfère ne pas utiliser des applications django pré-faites, mais si vous recommande fortement que je peut essayer it.Thanks

Répondre

2

Je suppose que vous faites ceci:

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.'); 
} 

});

vous pouvez console.log la réponse et de voir ce que tout ce qu'il contient, vous obtiendrez l'e-mail, nom d'utilisateur et profilepic en elle, vous pouvez également spécifier les champs si elle est pas là comme ceci:

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

plus

De même, assurez-vous que vous avez ajouté l'email dans la portée dans la méthode de connexion. comme ceci:

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

J'utilise le code du bouton de connexion trouvé ici https://developers.facebook.com/docs/facebook-login/web/login-button/. Et le code complet au bas de cette page: https://developers.facebook.com/docs/facebook-login/web/login-button/. Mon problème est FB.login est nulle part dans ce code. Lorsque vous cliquez sur le bouton de connexion, le formulaire de connexion s'affiche, mais je ne sais pas où modifier les champs/champs requis comme indiqué ci-dessus. Merci – Josh

+0

Je suppose que c'est pourquoi console.log ("Connected:" + response.email) me donne "Connected: undefined" – Josh

+0

J'ai compris que vous devez spécifier tous les champs que vous voulez après FB.api ('/ me' , ... – Josh