6

我已经使用 oauth2.0 获得了访问令牌。我能够获取人名、性别等,但无法获取用户的电子邮件地址。

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

4

2 回答 2

9

You can retrieve a user's email address if they specifically authorize your application to see their email address.

Set your scopes to:

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

The JavaScript calls look like this:

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);
  })
});

More information https://developers.google.com/+.

Note that you do not need scopes for plus.me or userinfo.profile.

于 2013-03-13T12:20:15.347 回答
1

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

公开已将电子邮件地址可见性设置为“公开”的人员的电子邮件地址是可能的,但目前还没有。目前是一个悬而未决的问题

编辑:问题现已解决,因此您可以按照其他答案中的步骤来获取它。

于 2012-06-07T16:28:08.650 回答