Skip to main content
 首页 » 编程设计

c#之是否可以在不请求访问联系人的情况下使用 Google api 获取用户电子邮件

2024年02月23日32lvdongjie

我正在尝试使用 Oauth(使用 DotNetOpenAuth)实现 Google 登录。我需要从 Google 获取用户名、ID 和电子邮件。基本上,除了请求访问此范围的个人资料信息的电子邮件之外,我可以获得所有信息:https://www.googleapis.com/auth/userinfo.profile

不幸的是,它不返回用户电子邮件。我知道我可以获得请求访问联系人的用户电子邮件,但我不想请求此类访问权限。

这可能吗?我在哪里可以阅读有关可通过 api 访问哪些个人资料信息的信息。我在 SO 上找到了这个范围 uri,它有效,但我无法在 Google api 文档中找到任何关于它的信息。

谢谢

请您参考如下方法:

好的,我在这个问题中找到了部分解决方案:Require Google to return email address as part of OAuth

所以基本上我要求使用此 url 访问基本信息和电子邮件:

https://www.googleapis.com/auth/userinfo.profile

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

然后使用这个 url 查询数据:

https://www.googleapis.com/oauth2/v1/userinfo

我正在使用 DotNetOpenAuth,它有示例,所以做起来并不难