Получить пустое имя и фамилию для некоторых пользователей из Google OAuth - PullRequest
0 голосов
/ 10 октября 2019

Наша система использует Google Oauth , чтобы позволить пользователю зарегистрироваться из учетной записи Google. Однако для некоторых пользователей мы можем получать только электронную почту и аватар, но не имя и фамилию.

Настройка в Oauth Google Console с добавлением следующих областей действия

  • электронная почта
  • профиль
  • 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 голосов
/ 12 ноября 2019

Google возвращает только данные о пользователе, поэтому если пользователь не заполнил информацию, API не собирается ее возвращать. Кроме того, некоторая часть этой информации может быть установлена ​​пользователем как конфиденциальная, а именно дата рождения, для того чтобы api мог возвращать эти данные, пользователь должен был установить публичную дату своего рождения в своем профиле.

Единственный совет, который яможет дать добавить поля = * к вашему запросу, это должно гарантировать, что все данные, которые имеет Google, возвращается. Некоторые из API Google ограничивают ответ и требуют от вас использования параметра fields при вызове, если вам нужны дополнительные данные.

...