Je suis nouveau sur OAuth et j'ai joué avec l'API Twitter. Je suis en mesure de récupérer les informations d'identification d'un utilisateur après l'authentification en faisant une demande à http://api.twitter.com/1/account/verify_credentials.xml
. La réponse contient l'ID utilisateur, le nom d'écran, etc. mais pas l'ID de messagerie.
Est-il possible du tout de récupérer l'ID de messagerie de l'utilisateur?
Mise à jour
Je pense que Facebook fournit ces informations si vous demandez spécifiquement des autorisations étendues . Y a-t-il quelque chose de similaire pour Twitter?
twitter
oauth
twitter-oauth
Manoj Govindan
la source
la source
Réponses:
L'adresse e-mail de l'utilisateur ne peut pas être récupérée via l'API. Il s'agit d'une décision de conception délibérée de l'équipe API.
MISE À JOUR 2015.08.18:
Il est possible de demander une adresse e-mail aux utilisateurs, mais cela nécessite que votre application soit ajoutée à la liste blanche. Voir https://dev.twitter.com/rest/reference/get/account/verify_credentials pour plus de détails sur l'appel API et ce formulaire pour demander la liste blanche de votre application.
la source
Pour OutsourceFactor , qui est écrit en Python / Django, j'obtiens le nom d'utilisateur via oAuth1, puis je construis un e-mail comme "[email protected]" qui est garanti d'être unique sur Twitter. Ensuite, je le hache pour obtenir un bon UUID à utiliser et à associer à mon compte d'utilisateur local. Même chose pour Yahoo. Google et Facebook utilisent oAuth2 et ils me donnent l'adresse e-mail sur demande, ce qui est bien.
Pour garantir plusieurs associations sociales avec un seul compte, j'autorise les associations de comptes sociaux UNIQUEMENT après que l'utilisateur a créé un compte localement et s'est connecté.
Donc, vous devez d'abord créer un compte (compte local), puis vous pouvez utiliser l'un des fournisseurs sociaux oAuth pour faciliter vos futures connexions. C'est le meilleur rapport qualité / prix pour mon site.
Quoi qu'il en soit, vous obtenez une forme d'identité unique de Twitter. Alors utilisez-le. Vous pouvez demander une adresse e-mail plus tard ou avant l'association.
la source
L'adresse e-mail est masquée par Twitter dans leurs réponses OAuth. Ce qui a toujours été un grand problème pour les personnes souhaitant inclure une fonction «S'inscrire sur Twitter».
Plus récemment (début 2015), Twitter a ajouté la prise en charge des adresses e-mail via un deuxième appel de service, mais sous certaines conditions abusives.
https://dev.twitter.com/rest/reference/get/account/verify_credentials
Alors maintenant, c'est possible, mais mon avis est de continuer à mettre en œuvre une connexion unique OAuth pour tous les fournisseurs sauf pour Twitter. Ils doivent être boycottés jusqu'à ce qu'ils agissent normalement, je veux dire comme tous les autres fournisseurs OAuth.
la source
Dans Android utilisant Fabric , je demande l'adresse e-mail de l'utilisateur comme ceci:
Voir http://docs.fabric.io/android/twitter/request-user-email-address.html
la source
Dans mon cas, chaque fois que j'obtiens la réponse, j'ai un identifiant d'authentification unique pour chaque utilisateur et le même pour cet utilisateur à chaque fois. J'ai donc utilisé cet identifiant pour créer un e-mail comme [email protected] et vérifier si c'est déjà sur mon site (pour la première fois, ce n'est pas le cas), puis enregistrer l'utilisateur. Ensuite, s'il se connecte une deuxième fois, je crée à nouveau l'e-mail et vérifie si c'est déjà là. Par cela, je n'ai pas à lui faire créer un compte local au préalable et je peux l'identifier pour se connecter.
la source
Voici l'exemple comment obtenir un e-mail d'utilisateur Twitter dans Laravel, et sur coditty.com, vous pouvez trouver l'exemple complet en utilisant Angular + Laravel
la source
Je suis entré dans mon application iOS après avoir ajouté l'application à la liste blanche. Vérifiez ma réponse ici .
la source
Ajoutez ce code!
$params = array('include_email' => 'true', 'include_entities' => 'false', 'skip_status' => 'true');
// getting twitter user profile details $twt_id = $data->id; //twitter user id $twt_email = $data->email; //twitter user email
Découvrez la procédure complète ici .
la source
Qui dit que vous ne pouvez pas recevoir les e-mails des utilisateurs, la case à cocher "Demander des adresses e-mail aux utilisateurs" est disponible sous les autorisations de l'application sur apps.twitter.com . Les champs URL de la politique de confidentialité et URL des conditions d'utilisation doivent être remplis dans les paramètres de l'application pour que l'accès à l'adresse e-mail fonctionne. Si cette option est activée, les utilisateurs seront informés via la boîte de dialogue oauth / authorize que votre application peut accéder à leur adresse e-mail.
la source