从Google OAuth中获取某些用户的空名和姓

时间:2019-10-10 05:47:52

标签: google-api google-oauth google-contacts-api

我们的系统使用 Google Oauth 允许用户从Google帐户注册。但是,对于某些用户,我们只能获取电子邮件和头像,而不能获取名字和姓氏。

Oauth Google控制台中的设置已添加以下范围

  • 电子邮件
  • 个人资料
  • openid
  • /auth/contacts.readonly

使用以下请求范围

从API返回的结果是

{
  "identifier": "1026834XXX",
  "webSiteURL": "",
  "profileURL": "",
  "photoURL": "https:\/\/lh3.googleusercontent.com\/a-\/AAuE7mAZnGB1XXX",
  "displayName": "",
  "description": "",
  "firstName": "",
  "lastName": "",
  "gender": "",
  "language": "",
  "age": "",
  "birthDay": 0,
  "birthMonth": 0,
  "birthYear": 0,
  "email": "fXXX@gmail.com",
  "emailVerified": "",
  "phone": "",
  "address": null,
  "country": "",
  "region": "",
  "city": null,
  "zip": ""
}

不是每个Gmail帐户都应具有firstName和lastName吗?

1 个答案:

答案 0 :(得分:0)

Google仅返回有关用户的数据,因此,如果用户未填写信息,则api不会返回该信息。此外,某些信息也可以由用户设置为私有,即出生日期,以使api返回用户必须在其个人资料中将其出生日期设置为公开的数据。

我唯一能给出的建议是在您的请求中添加fields = *,这应确保返回谷歌拥有的所有数据。一些Google API限制了响应,如果您需要其他数据,则要求您在调用中使用fields参数。