1

这里的谷歌文档清楚地表明

您不应将 userinfo.profile 或 plus.me 与 [https://www.googleapis.com/auth/plus.login] 范围结合使用,因为它们是隐式包含的,并且会为您的用户创建一个令人困惑的权限对话框。

...但如果我不使用

https://www.googleapis.com/auth/userinfo.email并且https://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/plus.loginapi 一起不会返回用户的电子邮件地址或姓名。

如果我不应该与userinfo范围一起确定plus.login范围,我如何获取用户的姓名和电子邮件?

4

5 回答 5

3

您需要userinfo.email获取电子邮件地址,但您应该能够在请求userinfo.profile. plus.login应该让您访问“GET /plus/v1/people/{userid}”调用,该调用应该返回以下字段/对象(至少):

  • name - 一个对象,包含分解为字段的名称
  • 显示名称
  • 昵称
于 2013-04-17T19:25:33.683 回答
2

我也很难获得个人资料和电子邮件地址。最后我发现我可以使用这些范围来获取所有内容:

' https://www.googleapis.com/auth/plus.login '、'电子邮件'、'个人资料'

于 2014-01-22T06:37:36.800 回答
2

似乎谷歌在其文档中有点含糊。他们说范围“plus.login”包含显示名称和电子邮件,但是,在使用不同的 Google 帐户(普通 Gmail、Google+、Google Apps)运行几次测试之后,这似乎是错误的。

如果用户没有 Google+ 个人资料,“plus.login”将不包含 displayName。这似乎也发生在 Google Apps 帐户上。因此,为了涵盖所有可能的 Google 帐户状态,安全的选择是要求:

他们说最后两个已弃用,但是,如果您不使用它们,某些帐户将不会返回所有基本信息。我不知道这是否与谷歌帐户的“年龄”有关,或者只是谷歌端的一个错误。

于 2016-02-10T22:07:05.797 回答
0

以这种方式对我有用

范围 = https://www.googleapis.com/auth/userinfo.profile电子邮件

userinfo.profileemail之间有空格

于 2020-11-21T14:20:26.880 回答
0

我已经使用以下范围参数实现了多范围。

范围 = https://www.googleapis.com/auth/userinfo.email+profile

于 2015-11-19T08:06:26.577 回答