获取使用Google API的用户的所有电子邮件地址
对于我自己的Gmail账户,我有多个与之相关的电子邮件地址。 例如,我有一个与我的gmail关联的我的大学的电子邮件地址,并且我可以从我的gmail发送电子邮件,就好像它们来自我的大学电子邮件地址。
我正在阅读Google API,我发现我可以获得用户的Gmail地址,但是我是否也可以获得与他们的Gmail帐户相关的任何其他电子邮件地址?
当用户登录到我的网站时,我想向他们展示与Gmail相关的电子邮件地址列表,并让他们选择他们想使用的电子邮件地址。
编辑:谢谢大家的答案,但我不认为他们中的任何人回答这个问题。 我一直在玩Google的OAuth游乐场。 奇怪的是,我可以得到很多非常个人信息(用户的联系人列表,甚至收到的电子邮件),但我无法获得用户的替代电子邮件地址。
你的描述有点模糊。 您是否在讨论发送别名帐户或备用电子邮件帐户?
作为别名发送
无论采用哪种方式,您都可以在这里与发送账户交互:管理发送别名
通过Admin SDK备用电子邮件
联合登录
另外,我并不确定您是如何将此功能纳入您的网站的,但我建议您检查的另一个区域是Google帐户用户的联合登录。 这也可能为您提供您所寻求的功能。
使用联合登录(也称为联合身份验证),您的网站或应用程序可以允许访问者使用他们的Google用户帐户登录。 联合登录使用户无需为不同网站设置单独的登录帐户,并将您从执行登录身份验证措施的任务中解放出来。
自问题提出后已有一段时间了。 您可以使用Google People API来获取用户的主要电子邮件地址和别名。 这里是文档。 您需要使用的范围是:https://www.googleapis.com/auth/user.addresses.read
这将返回用户的所有电子邮件地址,并告诉您哪一个是主要的。
如果您使用OAuth让您的用户使用其Google帐户(使用或不使用G +)登录,则会提示用户(由Google)选择他们希望授权您的应用程序使用的帐户:https://开发人员.google.com /帐号/文档/ OAuth2Login
因此,为了直接回答您的问题,我不知道API会返回该用户列表 - 但您不需要,Google会在返回到您的应用程序之前处理此问题。
如果您的用户已经登录,并且希望让他们能够更改他们正在使用的Google帐户,我相信可以再次提示他们选择他们感兴趣的帐户(在上面的链接中搜索select_account
)。