Impossible d'Accéder électronique de l'Utilisateur. “Non Défini”
J'ai un site web avec le Facebook login mise en œuvre. Mon application a l'autorisation pour l'email de l'utilisateur.
Même si l'utilisateur ouvre une session dans mon application à l'aide de Facebook, je ne peux que récupérer son nom ou des informations de base. Pas l'e-mail.
Donc, voici le code que j'ai littéralement copié à partir de l'Facebook Développeurs de Site web:
window.fbAsyncInit = function() {
FB.init({
appId : 'xxxxxxxxxxxxxxx', //App ID
channelUrl : '//domain.org/channel.html', //Channel File
status : true, //check login status
cookie : true, //enable cookies to allow the server to access the session
xfbml : true //parse XFBML
});
FB.Event.subscribe('auth.authResponseChange', function(response) {
if (response.status === 'connected') {
testAPI();
} else if (response.status === 'not_authorized') {
FB.login();
} else {
FB.login();
}
});
};
//Load the SDK asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
function testAPI() {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function(response) {
console.log('Good to see you, ' + response.email + '.');
});
}
</script>
OriginalL'auteur Federico Capello | 2013-08-10
Vous devez vous connecter pour publier un commentaire.
vous probablement n'avez pas de courriel de l'autorisation, même si vous pensez que vous faites.
Essayer,
OriginalL'auteur alexl
Vous devez maintenant spécifier les champs que vous souhaitez obtenir, elle est appelée "Déclarative des Champs":
Voir le changelog pour plus d'informations: https://developers.facebook.com/docs/apps/changelog#v2_4
Oh ma parole! J'ai été à la recherche pour répondre à cette question pendant des jours, vous le codage Dieu!
OriginalL'auteur luschn
L'utilisateur a probablement eu un non-vérifiées e-mail sur Facebook. Ce que vous pourriez faire est de leur demander de vérifier leurs e-mails sur le Facebook de paramètres (Facebook enverra un e-mail avec un lien à cliquer) et essayez de nouveau.
OriginalL'auteur Gabriel Cypriano
Vous pouvez le vérifier https://developers.facebook.com/bugs/298946933534016/ de voir que ce n'est pas un bug en fait, c'est possible et correct que l'utilisateur n'a pas d'e-mail enregistrée dans facebook, pour plusieurs raisons. Par exemple, ont créé un compte de téléphone mobile ou n'a pas validé son e-mail...
Donc c'est un problème connu. La meilleure solution de contournement peut-être pourrait demander pour l'e-mail dans un formulaire si nous ne pouvons pas l'obtenir à partir de fb.
Le problème pour moi est de savoir comment reproduire le vide du champ e-mail de test de la solution fournie
Édition.. C'est ce qu'ils disent dans le facebook site des développeurs:
OriginalL'auteur Hugo
Si le problème persiste dans le compte de messagerie.
Solution: vous devez demander aux gens de se connecter avec leurs facebook id e-mail
Le problème avec moi, c'était pas défini par courriel lorsque je me connecte avec mon compte personnel
Ensuite essayé beaucoup de choses
enfin connecté avec mon facebook id e-mail .Il a travaillé
Le facebook de compte qui a le nom d'utilisateur défini qui rend le problème pour vous connecter à votre application
OriginalL'auteur Shuu
Il y a un problème dans l'email. Si l'email de l'utilisateur n'est pas vérifiée, alors il affichera un indéfini, Si l'email est bien vérifiée, alors il sera de montrer à l'utilisateur connecté en e-mail. S'il vous plaît essayer à la connexion et essayez d'imprimer le nom, j'ai résolu mon problème de cette façon..
Vérifier ce lien qui est mentionné par Hugo. C'est vraiment utile.
https://developers.facebook.com/bugs/298946933534016/
OriginalL'auteur Tushar Rmesh Saindane
ref:Obtenir l'email de l'utilisateur non défini à l'aide de facebook api
OriginalL'auteur May Noppadol