Получение имени и фамилии пользователя через Google API

#google-chrome #oauth #google-api #gmail-api

#google-chrome #oauth #google-api #gmail-api

Вопрос:

В настоящее время я разрабатываю расширение Chrome-GMAIL, которое требует от меня получения имени и фамилии зарегистрированного пользователя. Для экспериментов я использовал следующий goggle API (userinfo) и успешно получил нужные имена:

 https://www.googleapis.com/auth/userinfo.profile
  

Однако использование API-интерфейсов userinfo приведет к изменению областей OAuth2 в моем манифесте. Это изменение, в свою очередь, вызовет запрос разрешения для моих существующих пользователей (если делегирование по всему домену не настроено). Суть в том, что идея иметь больше подсказок перед моим пользователем или дополнительную область действия oauth — это не совсем то, чего я хочу.

В настоящее время наши расширения используют следующие области OAuth и API :

  • API идентификации Chrome
  • API хранилища Chrome
  • GMAIL.изменить
  • GMAIL.отправить

Мой вопрос в том, возможно ли получить имя и фамилию с помощью API, который определен / разрешен / предусмотрен любой из перечисленных выше областей / разрешений, которые я перечислил? или userinfo — единственный путь?

Большое вам спасибо.

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

1. Если вам нужна информация о профиле, вам нужно использовать одну из областей профиля и либо перейти через people api, либо конечную точку userinfo. даже developers.google.com/gmail/api/reference/rest/v1/users /… не даст вам имя пользователя.

2. Да, как я уже сказал, я думаю, вам нужно будет запросить область профиля или googleapis.com/auth/userinfo.profile чтобы получить эту информацию.

3. Спасибо @DaImTo. Я просто надеялся, что есть какой-то другой способ. еще раз спасибо.

4. Вам понадобится менеджер OAuth для отправки запросов в API-интерфейсы Gmail и Google Profile. Могу ли я порекомендовать вам Pizzly , проект с открытым исходным кодом, который действительно отлично работает с точки зрения интерфейса.

Ответ №1:

Данные профиля, такие как имя и фамилия, являются личными данными. Вы понимаете, что некоторые API Google предоставляют вам доступ к некоторым данным, для которых обычно требуется дополнительная область. Для электронной почты обычно вам необходимо запросить область электронной почты, чтобы вернуть это, однако в API Gmail есть getprofile конечной точки, который вернет текущий адрес электронной почты пользователя без запроса области электронной почты.

Однако я не знаю ни одного API, который предоставит вам доступ к имени и фамилии пользователя без запроса профиля или области user.profile.

Если вы решите добавить область действия, я рекомендую использовать people api, а не конечную точку userinfo, поскольку данные, возвращаемые конечной точкой user info, не всегда гарантированно возвращают имя.