#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, не всегда гарантированно возвращают имя.