通过Google API获取用户的名字和姓氏

时间:2020-10-01 08:23:03

标签: google-chrome oauth google-api gmail-api

当前,我正在开发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是唯一的方法?

非常感谢您。

1 个答案:

答案 0 :(得分:1)

个人资料数据(例如名字和姓氏)是私有数据。您很肯定某些Google api可以让您访问某些通常需要额外范围的数据。对于电子邮件,通常需要请求电子邮件范围以将其取回,但是Gmail api确实具有端点getprofile,该端点将返回当前用户的电子邮件地址,而无需您请求电子邮件范围。

但是,我不知道有任何api可以让您在不请求配置文件或user.profile范围的情况下访问用户的名字和姓氏。

如果您决定添加范围,我建议您通过people api而不是userinfo端点,因为不能保证总是由用户info端点返回的数据返回名称。