web-dev-qa-db-fra.com

Comment puis-je obtenir le profil d'informations utilisateur de l'API Google?

Je dois implémenter la connexion par compte Google.

Je veux quelques suggestions.

J'ai créé un projet dans la console Google. Ajout de la portée de l'utilisateur info.profile

Je suis en train de suivre des cours sur Internet, mais je ne parviens toujours pas à obtenir des informations utilisateur (email, nom, âge ...).

Étape:

{
    "azp": "155122683461-51hq2n932svo4ajbt98ic0q67m4tuj5o.apps.googleusercontent.com",
    "aud": "155122683461-51hq2n932svo4ajbt98ic0q67m4tuj5o.apps.googleusercontent.com",
    "sub": "108865940357700877124",
    "scope": "https://www.googleapis.com/auth/userinfo.profile",
    "exp": "1554094721",
    "expires_in": "3326",
    "access_type": "offline"
}

Pouvez-vous me donner un exemple :(

Merci

3
Vũ Anh Dũng

les gens api

L'information que vous recherchez se trouve sur people.get

GET https://people.googleapis.com/v1/{resourceName=people/*}

astuce envoyer Masque de champ sans espace - person.emailAddresses,person.birthdays Il lit le formulaire info personne donc l'utilisateur devra renseigner cette information

Cependant, vous devrez ajouter les étendues pour obtenir les informations souhaitées

https://www.googleapis.com/auth/profile.emails.read
https://www.googleapis.com/auth/user.birthday.read

Vous pouvez le tester ici Google Apis Explorer

Un démarrage rapide node.js pour l'api google people peut être trouvé ici

point de terminaison userinfo

Le point de terminaison userinfo peut également être utilisé mais il ne renvoie pas les informations que vous recherchez

Vous devez demander la portée de l'e-mail pour avoir vu l'e-mail dans la réponse ci-dessous, l'utilisateur doit vous accorder la permission de voir son e-mail, ce qui suit est la réponse standard pour le profil portée uniquement.

GET /oauth2/v2/userinfo HTTP/1.1
Host: www.googleapis.com
Content-length: 0
Authorization: Bearer ya29.GlveBiwp4-NTPLU9VN3rn1enty11KOdQHGcyfZd1xJ1Ee9eGS2Pw2nJ7KDUBQPa-uT-AoKDQdoVigU6bruVIB1a3fiBu1n

réponse

{
  "picture": "https://lh5.googleusercontent.com/-a1CWlFnA5xE/AAAAAAAAAAI/AAAAAAAAl1I/UcwPajZOuN4/photo.jpg", 
  "name": "Linda Lawton", 
  "family_name": "Lawton", 
  "locale": "en", 
  "gender": "female", 
  "link": "https://plus.google.com/+LindaLawton", 
  "given_name": "Linda", 
  "id": "117200475532672775346"
}

portées

Vous devriez consulter le nœud tutoriel pour savoir comment travailler avec des étendues. N'oubliez pas que vous devrez à nouveau demander l'accès à l'utilisateur si vous modifiez la portée de votre code.

const SCOPES = ['profile', 'email'];
3
DaImTo