Google возвращает только идентификатор и изображение пользователя

#oauth-2.0 #google-oauth

#oauth-2.0 #google-oauth

Вопрос:

Я аутентифицирую пользователей через OAuth от Google в качестве IdP. Я ни за что на свете не могу заставить Google возвращать что-либо, кроме идентификатора и URL-адреса изображения. Я запросил соответствующие поля (email family_name, given_name, id), но я по-прежнему получаю обратно только поле ID и picture.

Я использую «https://www.googleapis.com/userinfo » конечная точка в запросе get со следующими значениями строки запроса:

  • состояние
  • access_token
  • поля (которые являются: email family_name given_name id)
  • Клавиша

Что я получаю обратно, так это уникальный идентификатор и путь к миниатюре фотографии пользователя, но я не получаю другие элементы области видимости.

Получить запрос:

https://www.googleapis.com/userinfo?state=MyUniqueValueamp;key=MyAPIKeyamp;fields=email,family_name,given_name,idamp;access_token=y26.bigrandomstring

Я также пытался:

https://www.googleapis.com/userinfo?state=MyUniqueValueamp;key=MyAPIKeyamp;fields=email,family_name,given_name,idamp;access_token=y26.bigrandomstring

Я даже попробовал устаревшую, а затем устаревшую конечную точку с formfields:

https://accounts.google.com/o/oauth2/v2/auth ?access_token=y26.bigrandomstringamp;scope=https://www.googleapis.com/auth/plus.me

Независимо от того, что я использую, я все равно каждый раз получаю одно и то же:

 {
  "id": "1067xxxxxxxx50",
  "picture": "https://lh6.googleusercontent.com/-7RzMk8xmlAg/AAAAAAAAAAI/AAAAAAAAAAA/SfdfsdfsdfYaBtg/photo.jpg"
}
  

Я даже получаю ответ «200 OK». Есть идеи?

Комментарии:

1. Вы запрашиваете информацию о пользователе через области во время аутентификации, которую пользователь должен одобрить.

Ответ №1:

Я нашел проблему. Я использовал неправильную конечную точку и область видимости. Правильная конечная точка и область были:

https://people.googleapis.com/v1/people/me?personFields=names Адреса электронной почты

Как часть запроса у меня есть поля формы access_token и key (ключ api).