Est-il possible d'obtenir des informations du profil de l'utilisateur via l'API Google? Si c'est possible, quelle API dois-je utiliser?
Je suis intéressé par de telles informations:
- URL du profil utilisateur (par exemple https://profiles.google.com/115063121183536852887 );
- Sexe (sexe);
- Photo de profil.
De plus, ce serait cool d'obtenir d'autres informations du profil de l'utilisateur.
oauth
google-api
userinfo
glagola
la source
la source
curl -X GET "https://www.googleapis.com/oauth2/v1/userinfo?alt=json" -H"Authorization: Bearer accessTokenHere"
portée - https://www.googleapis.com/auth/userinfo.profile
obtenir https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=youraccess_token
vous obtiendrez json:
À Tahir Yasin:
Ceci est un exemple php.
Vous pouvez utiliser la fonction json_decode pour obtenir le tableau userInfo.
la source
$userInfoArray
propriétés. Cela devrait être comme$userInfoArray['email']
obtenir l'adresse e-mail du$userInfoArray
. NOTER LE DEVIS UNIQUE POUR ACCÉDER À RPOPERTIES.define(email, 'email')
;)Cette portée https://www.googleapis.com/auth/userinfo.profile est désormais obsolète. Veuillez consulter https://developers.google.com/+/api/auth-migration#timetable .
La nouvelle portée que vous utiliserez pour obtenir des informations de profil est: profile ou https://www.googleapis.com/auth/plus.login
et le point final est - https://www.googleapis.com/plus/v1/people/ {userId} - userId peut être simplement «moi» pour l'utilisateur actuellement connecté.
la source
If you are directly requesting the “plus.me” scope, any other Google+ OAuth scopes, or making any Google+ API calls, please ensure that you remove these requests from your project before March 7, 2019.
- GoogleJ'utilise
PHP
et j'ai résolu ce problème en utilisant la version 1.1.4 de google-api-php-clientEn supposant que le code suivant est utilisé pour rediriger un utilisateur vers la page d'authentification Google:
En supposant qu'un code d'authentification valide est renvoyé au
redirect_url
, ce qui suit va générer un jeton à partir du code d'authentification et fournir des informations de profil de base:Cependant, l'emplacement n'est pas retourné. Les nouveaux comptes YouTube n'ont pas de nom d'utilisateur spécifique à YouTube
la source
J'utilise Google API pour .Net, mais vous pouvez sans aucun doute trouver la même manière d'obtenir ces informations en utilisant une autre version de l'API. Comme user872858 l'a mentionné, scope userinfo.profile est obsolète ( article google ).
Pour obtenir des informations sur le profil utilisateur, j'utilise le code suivant (partie réécrite de l'exemple de Google ):
Ensuite, vous pouvez accéder à presque tout en utilisant userProfile.
MISE À JOUR: Pour que ce code fonctionne, vous devez utiliser les portées appropriées sur le bouton de connexion Google. Par exemple mon bouton:
la source
Il y a 3 étapes qui doivent être exécutées.
Il est très intéressant que cette utilisation la plus simple ne soit clairement décrite nulle part. Et je crois qu'il y a un danger, vous devez faire attention au
verified_email
paramètre entrant dans la réponse. Parce que si je ne me trompe pas, cela peut générer de faux e-mails pour enregistrer votre application. (Ce n'est que mon interprétation, j'ai de bonnes chances que je me trompe!)Je trouve que la mécanique OAuth de Facebook est bien décrite.
la source
Si vous êtes dans un environnement Web côté client, la nouvelle API javascript auth2 contient une
getBasicProfile()
fonction indispensable , qui renvoie le nom, l'adresse e-mail et l'URL de l'image de l'utilisateur.https://developers.google.com/identity/sign-in/web/reference#googleusergetbasicprofile
la source
Si vous souhaitez uniquement récupérer l'identifiant d'utilisateur Google, le nom et l'image d'un visiteur de votre application Web - voici ma solution côté service PHP pure pour l'année 2020 sans bibliothèques externes utilisées -
Si vous lisez le guide Utiliser OAuth 2.0 pour les applications serveur Web de Google (et attention, Google aime modifier les liens vers sa propre documentation), alors vous devez effectuer seulement 2 étapes:
L'un des jetons retournés s'appelle "id_token" et contient l'ID utilisateur, le nom et la photo du visiteur.
Voici le code PHP d' un jeu Web par moi. Au départ, j'utilisais le SDK Javascript, mais j'ai ensuite remarqué que de fausses données utilisateur pouvaient être transmises à mon jeu Web, lorsque j'utilisais uniquement le SDK côté client (en particulier l'ID utilisateur, qui est important pour mon jeu), j'ai donc opté pour PHP côté serveur:
Vous pouvez utiliser une bibliothèque PHP pour ajouter une sécurité supplémentaire en vérifiant la signature JWT. Pour mes besoins, ce n'était pas nécessaire, car je suis convaincu que Google ne trahira pas mon petit jeu Web en envoyant de fausses données de visiteurs.
De plus, si vous souhaitez obtenir plus de données personnelles du visiteur, vous avez besoin d'une troisième étape:
Ou vous pouvez obtenir plus d'autorisations au nom de l'utilisateur - voir la longue liste dans le document OAuth 2.0 Scopes for Google APIs .
Enfin, les constantes app_id et APP_SECRET utilisées dans mon code - vous l' obtenez à partir de la console API Google :
la source