使用Google API获取用户的所有电子邮件地址

8
对于我的个人gmail账户,我有多个与之关联的电子邮件地址。例如,我有一个来自大学的邮箱地址与我的gmail相关联,我可以像使用大学邮箱地址一样从我的gmail发送电子邮件。
我正在了解Google API,并且我看到我可以获取用户的gmail地址,但我也可以获取与其gmail帐户关联的任何其他电子邮件地址吗?
当用户登录我的网站时,我想向他们呈现与gmail关联的电子邮件地址列表,并让他们选择要使用的电子邮件地址。
编辑:感谢大家的回答,但我认为没有一个回答了这个问题。我一直在使用Google的OAuth playground。奇怪的是,我可以获取大量非常个人化的信息(用户联系人列表甚至收到的电子邮件),但我无法获取用户的替代电子邮件地址。

目录 API:用户别名 无法访问您想要的内容吗? - JSuar
@JSuar,看起来很有前途。让我来看看。 - new name
@JSuar,我不确定。那似乎只适用于Google应用域,不适用于普通的gmail帐户。 - new name
GmailApp -> getAliases() 这个怎么样? - JSuar
@JSuar,这正是我想要做的,但它似乎仅限于Google Apps Script,因此我无法将其用于用户登录我的网站。感谢您为帮助我付出的所有努力。我怀疑Google目前不支持我想要的功能。 - new name
显示剩余2条评论
4个回答

5
你的描述有点模糊。你是在谈论发送作为别名账户还是备用电子邮件账户?
无论哪种方式,你都可以在这里与发送作为账户进行交互:管理发送作为别名
通过管理员 SDK 的备用电子邮件:

联合登录

此外,我不确定您如何将此功能整合到您的网站中,但我建议您查看Google帐户用户的联合登录。这也可能为您提供所需的功能。
使用联合登录(也称为联合身份),您的网站或应用程序可以允许访问者使用其Google用户帐户登录。联合登录使用户无需为不同的网站设置单独的登录帐户,并使您免于实施登录身份验证措施的任务。

1
自提出问题以来已经有一段时间了。您可以使用Google People API获取用户的主要电子邮件地址和别名。这是文档。您需要使用的范围是:https://www.googleapis.com/auth/user.addresses.read 这将返回用户的所有电子邮件地址,并告诉您哪一个是主要的。

1
嗨,Siva,你能提供一个简短的API调用示例吗?从你提供的链接中我并没有看出来。 - new name

0

如果您使用OAuth让用户使用他们的Google账户登录(带或不带G+),用户将被提示(由Google)选择他们希望授权给您的应用程序使用哪个账户: https://developers.google.com/accounts/docs/OAuth2Login

所以直接回答您的问题,我不知道有没有API可以返回用户列表 - 但是在返回到您的应用程序之前,您不需要这样做,Google会处理这个问题。

如果您的用户已经登录,并且您希望让他们有能力更改他们正在使用的Google账户,我相信可以再次提示他们选择他们感兴趣的账户(在上面的链接中搜索select_account)。


谢谢,但那不是我要找的。一个 Gmail 帐户可以关联多个电子邮件地址。我想获取与一个 Google 帐户关联的电子邮件地址列表,这与用户拥有多个 Google 帐户不同。 - new name

0

这是可能的。然而,自从谷歌宣布停用Google+ People API后,很多人用来获取用户所有电子邮件地址的方法已经改变了。目前得票最高的答案现在已经变成了404。

Google Plus People API替代方案

谷歌已经用https://developers.google.com/people/替换了Google Plus People API /plus/v1/people/me,你需要使用https://www.googleapis.com/auth/user.emails.read作为替代方案如此处所述。架构不同,因此你还需要更改映射。

如果你的应用程序已经使用了旧版/plus/v1/people/me的以下范围,则当你切换到新API时你的用户将不必重新同意

email
profile
https://www.googleapis.com/auth/plus.login
https://www.googleapis.com/auth/plus.me
https://www.googleapis.com/auth/plus.profile.agerange.read
https://www.googleapis.com/auth/plus.profile.emails.read
https://www.googleapis.com/auth/plus.profile.language.read

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接