2011-01-11 6 views
3

tout en utilisant Facebook graphique api dans l'authentification d'un utilisateur, après connexion réussie, je veux obtenir l'email de l'utilisateur.Facebook graphique api pas de courriel dans le jeton d'accès

Pour cela, j'ai soulevé une demande de données utilisateur: https://graph.facebook.com/me?access_token=xxxxxxxxxx

Mais pour ma grande surprise, je ne pouvais pas obtenir l'email de l'utilisateur en JSON ... comment puis-je obtenir l'e-mail? Avons-nous besoin de spécifier des autorisations?

+0

Je pense que vous ne pouvez pas obtenir l'e-mail de l'utilisateur étant authentifié –

+0

Non yar, je pourrais obtenir l'email de certains des utilisateurs facilement, mais pour certains utilisateurs, je suis incapable d'obtenir. Dans l'écran des autorisations lui-même, l'option de courrier électronique n'apparaît pas. Existe-t-il un moyen de demander l'autorisation pour le courrier électronique de l'utilisateur? –

+0

S'il vous plaît, quelqu'un peut-il m'aider ici ... je ne suis pas en mesure de le comprendre ... –

Répondre

4

Eh bien oui, vous avez besoin d'une autorisation pour récupérer le courrier électronique de quelqu'un, même si certaines personnes ont leurs paramètres de confidentialité afin que vous puissiez obtenir leurs courriels sans cette autorisation expresse, la plupart ne le font pas. Les autorisations doivent être définies sous la section de connexion (cela dépend de comment vous vous connectez à la façon dont il est présenté, donc je ne peux pas vraiment vous aider à moins que j'ai plus d'infos). 'User_about_me' est l'autorisation de l'utilisateur que vous avez probablement déjà, mais vous avez besoin de 'email' pour obtenir leur email principal.

Plus d'informations sur les autorisations pour les développeurs facebook peuvent être trouvés here.

J'espère que cela a aidé!

Bonne chance,

Jon

+1

Salut, je pourrais obtenir l'email de l'utilisateur maintenant, en demandant une permission dans ma requête api graphique, en ajoutant: scope = email à la fin de ma demande. :) –

+0

@dskanth: la réponse était-elle utile? Si oui, alors acceptez-le .. Sinon, ajoutez une nouvelle réponse à la solution et acceptez votre propre réponse. – ifaour

+0

J'ai donc 'email' dans la chaîne des permissions mais pour .1% de mes utilisateurs, aucun email n'est autorisé via leur token d'accès. Je l'ai confirmé dans le graphique api explorer. – ajbraus

6

Vous devez forcer, comme ceci:
...graph.facebook.com/me?**fields=email,name**&access_token...
Ensuite, vous pouvez utiliser l'objet user-> email

1

Oui, vous avoir à demander la permission pour le courrier électronique. Si vous avez déjà demandé un e-mail dans la demande et que vous n'obtenez pas d'e-mail dans la réponse, cela signifie que l'utilisateur s'est inscrit avec un numéro de téléphone mobile et n'a pas saisi son identifiant dans son profil.