Googleアカウントでのサインインを実装する必要があります。
いくつか提案したい。
Googleコンソールでプロジェクトを作成しました。スコープユーザーinfo.profileを追加
インターネットでコースの指示に従っていますが、それでもユーザー情報(メール、名前、年齢など)を取得できません。
ステップ:
{
"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"
}
例を挙げてもらえますか?
ありがとう
あなたが探している情報は people.get にあります
GET https://people.googleapis.com/v1/{resourceName=people/*}
ヒントスペースのないフィールドマスクを送信-person.emailAddresses,person.birthdays
フォーム person info を読み取るため、ユーザーはこの情報を入力する必要があります
ただし、必要な情報を取得するには、スコープを追加する必要があります
https://www.googleapis.com/auth/profile.emails.read
https://www.googleapis.com/auth/user.birthday.read
ここでテストできます Google Apis Explorer
Google People APIのnode.jsクイックスタートを見つけることができます here
Userinfoエンドポイントも使用できますが、探している情報は返されません
emailスコープをリクエストして、以下の応答で電子メールを表示する必要があります。ユーザーは、電子メールを表示する権限を付与する必要があります。スコープのみ。
GET /oauth2/v2/userinfo HTTP/1.1
Host: www.googleapis.com
Content-length: 0
Authorization: Bearer ya29.GlveBiwp4-NTPLU9VN3rn1enty11KOdQHGcyfZd1xJ1Ee9eGS2Pw2nJ7KDUBQPa-uT-AoKDQdoVigU6bruVIB1a3fiBu1n
応答
{
"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"
}
スコープの操作方法については、ノード tutorial を参照してください。コードのスコープを変更した場合は、ユーザーのアクセスを再度リクエストする必要があることに注意してください。
const SCOPES = ['profile', 'email'];