【发布时间】:2021-01-16 22:49:09
【问题描述】:
目前我正在开发一个 Chrome-GMAIL 扩展程序,它要求我获取登录用户的名字和姓氏。为了实验,我使用了下面的 goggle API(userinfo),并成功获得了我想要的名字:
https://www.googleapis.com/auth/userinfo.profile
但是,使用 userinfo API 会导致我的清单中的 OAuth2 范围发生变化。此更改将反过来导致我现有用户的权限提示(如果未设置域范围的委派)。重点是在我的用户面前有更多提示的想法,或者额外的 oauth 范围并不是我真正想要的。
目前我们的扩展使用以下 OAuth 范围和 API:
- Chrome 的身份 API
- Chrome 的存储 API
- GMAIL.modify
- GMAIL.send
我的问题是,是否可以使用我列出的上述任何范围/权限定义/允许/提供的 API 来获取名字和姓氏?还是 userinfo 是唯一的出路?
非常感谢。
【问题讨论】:
-
如果您想要个人资料信息,那么您需要使用个人资料范围之一,并通过人员 api 或用户信息端点。甚至developers.google.com/gmail/api/reference/rest/v1/users/… 也不会给你用户的名字。
-
是的,就像我说的,我认为您需要请求配置文件范围或googleapis.com/auth/userinfo.profile 才能获取此信息。
-
感谢@DaImTo。我只是希望有其他方法。再次感谢您。
-
您需要一个 OAuth 管理器来向 Gmail 和 Google Profile API 发出请求。我可以推荐你Pizzly,这是一个开源项目,从前端的角度来看非常棒。
标签: google-chrome oauth google-api gmail-api