获得令牌后,如何从Google Plus API获取电子邮件地址

时间:2012-06-07 16:08:48

标签: java google-plus

我使用oauth2.0进行了accessstoken。我能够获得人名,性别等,但我无法获得用户的电子邮件地址。

任何人都可以粘贴一些示例代码或有关如何从google plus API获取电子邮件地址的任何建议吗?

2 个答案:

答案 0 :(得分:9)

如果用户的电子邮件地址专门授权您的应用查看其电子邮件地址,则可以检索用户的电子邮件地址。

将您的范围设置为:

https://www.googleapis.com/auth/plus.login
https://www.googleapis.com/auth/userinfo.email

JavaScript调用如下所示:

gapi.client.load('oauth2', 'v2', function() {
  gapi.client.oauth2.userinfo.get().execute(function(resp) {
    // Shows user email
    console.log(resp.email);
  })
});

gapi.client.load('plus', 'v1', function() {
  gapi.client.plus.people.get( {'userId' : 'me'} ).execute(function(resp) {
    // Shows other profile information
    console.log(resp);
  })
});

更多信息https://developers.google.com/+

请注意,您不需要plus.me或userinfo.profile的范围。

答案 1 :(得分:1)

公开未将其设置为“公开”可见的人的电子邮件地址显然是隐私问题,因此这是不可能的。

公开将电子邮件地址可见性设置为“公开”的人的电子邮件地址是可能的,但尚未公布。目前是open issue

修改:此问题现已解决,因此您可以按照其他答案中的步骤进行操作。