Google OAuth API 获取用户的电子邮件地址?

2023-12-03

我正在使用我自己的个人 Google 帐户玩 Google 的 OAuth 2.0 Playground,但我似乎无法使用 Playground 恢复我的 Gmail 地址。

我使用的范围是:

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

但是当我调用API时:

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

我获得有关用户的各种信息,例如姓氏、名字、性别、图片等,但它不会返回用户的电子邮件。

如何检索用户的电子邮件地址?我的范围是否错误或者我调用了错误的 API?我觉得这应该非常简单,但我确实花了几个小时试图解决这个问题,但我找不到一致提供用户电子邮件地址的 API 和范围组合。


更新日期:2018 年 12 月

12 月 20 日,谷歌宣布将于 2019 年 3 月关闭 Google+ API,并于 2019 年 1 月底开始出现间歇性故障。the plus.people.get端点已弃用并计划终止.

The userinfo端点已弃用(请参阅说明),并且应提供假设的信息

  1. 您请求https://developers.google.com/identity/sign-in/web/devconsole-project范围和
  2. 您请求email field.

澄清:2019 年 1 月 24 日

Google 记录在案userinfo (v2) 端点已被弃用,但后来将其更改为“已弃用,但仍可用于向后兼容”。

当前文档讨论通过当前支持的获取个人资料和电子邮件信息openid方法。这包括使用其中指定的“userinfo”端点发现文件,按照 OpenID Connect 的要求。

目前,该网址是https://openidconnect.googleapis.com/v1/userinfo,但这在过去发生了变化,发现文档位于https://accounts.google.com/.well-known/openid-configuration是要使用的 URL 的权威来源。

所以,要明确的是:

  • 保留旧的用户信息 URL 是为了向后兼容
  • 新的用户信息 URL 可在发现文档中找到

无论如何,任何东西的增强版本(如下所述)都是已弃用并计划删除.

原答案

在你正在做什么以及如何尝试做这件事方面存在很多问题。

对于初学者来说,https://www.googleapis.com/oauth2/v2/userinfo端点已弃用,并计划于 2014 年 9 月删除。它已经开始工作不一致 - 所以不要使用它。

正如@abraham 指出的,您将使用people.get终点在https://www.googleapis.com/plus/v1/people/me。这应该给你emails包含地址数组的字段。就您而言,可能只有一个具有“帐户”类型。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google OAuth API 获取用户的电子邮件地址? 的相关文章

随机推荐

  • R grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, 中的错误:绘图时找不到多边形边缘

    我知道还有其他关于此的帖子 但我已经尝试了他们建议的所有内容 但没有任何效果 我以前没有这个问题 现在突然之间 在运行我之前运行的代码时 我开始遇到这个问题 我认为这与我正在创建的主题有关 但我不明白为什么这之前工作得很好 现在却给了我这个
  • Azure B2C 注册策略重定向到应用程序后,AngularJS 哈希 # 问题

    我们想要做的是在用户成功注册后自动登录 登录 假设用户收到了应用程序的邀请 他们转到 注册 页面 填写表格并单击 创建 按钮 如果一切正常 用户将被添加到 Azure B2C 目录 然后我们会以某种方式自动运行登录策略或自动登录的其他方式
  • 如何在 Firebase 中注册用户名?

    我正在尝试在 Firebase 中实现用户名注册 因为它只提供了类似于createUserWithEmailAndPassword 但你无法创建用户名 我不知道该怎么做 下面是我的注册代码 但我还想输入一个可以使用它的用户名 当用户发布某些
  • 对矩阵中的每 N 个值求和

    因此 我查看了之前发布的这个问题 该问题用于对矩阵中每行中的每 2 个值求和 链接在这里 对行中的特定列求和 我还在这里查看了另一个问题 R 对矩阵中的每 k 列求和这和我的更相似 在这种情况下我无法让解决方案发挥作用 这是我正在使用的代码
  • Android Studio 无法构建新项目,在等待从属 aapt 进程时超时

    我已经安装了 Android Studio 1 2 并创建了一个新项目 当我尝试构建时 它挂起 这是在 Gradle 控制台中 以及大约 20 个其他副本 在 png cruncher 之后有不同的数字 Exception in threa
  • 适合给定金额的最佳硬币

    给定一组硬币 您如何以最优化的方式达到给定的金额 假设在这种情况下 我们有 1 5 10 20 和 50 分硬币的随机数 最大的硬币优先 我的第一直觉是使用所有可能适合的最大硬币 然后如果超出总和 则使用价值下一个最小的硬币 这种方法会起作
  • 在 Adob​​e Air 的 iOS 本机扩展中访问 ViewController

    短的 Air Native Extensions 的 Android API 在 Context Object 上提供了 getActivity 我正在寻找一种方法 在 iOS Native Extensions 中获取当前的 ViewCo
  • Apache POI - 将 Word 文档 (docx) 拆分为页面

    我一直在尝试根据预定义的标准将 docx 文档分割为多个文档 以下是我将其切成段落的方法 try FileInputStream in new FileInputStream file XWPFDocument doc new XWPFDo
  • 安全字符串切片

    我有一个字符串 我想要 250 个或更少的字符 我是用java方式做的 但是有一个常规的快捷方式吗 def longString This is my really long string This is my really long st
  • 如何替换指向我从系统类继承的方法的类中的方法的指针?

    已经问过这个问题了 如何替换我的方法指针中指向重写 虚拟 方法的指针 发布 x64 和 x86 感谢 机器学习 解决了问题 但新的问题又出现了 如果继承自系统类 例如 Systems Windows Forms 那么该更改不起作用 例子 u
  • 存储并重新加载 matplotlib.pyplot 对象

    我在一个伪操作环境中工作 我们在收到数据后制作新图像 有时 当新数据进来时 我们需要重新打开图像并更新该图像 以便创建合成 添加叠加等 除了添加到图像之外 这还需要修改标题 图例等 matplotlib 中是否有内置的东西可以让我存储和重新
  • 预渲染的核心图形动画动画不流畅并且占用内存

    我发布这个问题是为了回应其中之一答案关于我之前的问题 多个 CALayer 掩码导致性能问题 因此 现在我尝试采用预渲染动画方法 但仍然无法获得流畅的动画 不仅如此 当在实际设备上运行时 应用程序会由于内存问题定期崩溃 您可以在此处看到正在
  • 如何同时使用 LIKE 和 IN 运算符 like ...name LIKE IN ('alex%','raj%','rag%')? [复制]

    这个问题在这里已经有答案了 我想准备一个查询 例如 SELECT name FROM Employee WHERE name LIKE IN alex raj rag 在 SQL Server 中可以吗 在 SQL Server 中可以吗
  • 比较项目并将其添加到对象数组中

    下面的代码应该是 1 遍历两个数组 2 如果两个数组中都存在某个项目 则将其值添加到第一个数组中相似项目的值中 3 如果在arr2中找到该项目但在arr1中未找到该项目 则将该项目添加到arr1中 当两个数组具有相同大小时 我的代码可以按预
  • 首次“配置”调用后可以更新 GA4 自定义维度吗?

    我通过 GTM 加载了 google Analytics 4 并且我一直在努力向 增强测量 事件添加自定义维度 看完之后some other answers我已经确定 是的 尺寸在设置时有效 config 调用跟踪 ID 我可以在 GTM
  • android studio 构建错误 debug-unaligned.apk 路径未找到

    昨晚我将我的 android studio 更新到了 0 5 3 从那时起 每当我尝试生成签名的 apk 时 我都会收到此错误消息 当我只是通过 android studio 运行项目时 不会发生这种情况 我尝试重建 清理项目 重新启动 a
  • 三.js 如何求物体局部Up向量的世界方向向量?

    我的 object3D 有一个向上向量 0 1 0 object3D 围绕偏航 俯仰和滚动移动其原点 我的问题 如何找到在世界坐标中显示 object3D 向上向量方向的向量 编码上下文示例 var v1 new THREE Vector3
  • 在一个查询中进行选择和更新

    有没有一个查询可以同时执行两个查询 这是第一个 q select c id as campaignId c priceFactor o cid o bloggerPrice o state as state o customerPrice
  • 计算gps坐标半径[重复]

    这个问题在这里已经有答案了 我有这个坐标 纬度 45 815005 时间 15 978501 我有 mysql 表 其中纬度和经度坐标存储为浮点数 我需要的是获得我周围500米内的所有坐标 所以基本上我的问题是将 X 米添加到我的坐标位置
  • Google OAuth API 获取用户的电子邮件地址?

    我正在使用我自己的个人 Google 帐户玩 Google 的 OAuth 2 0 Playground 但我似乎无法使用 Playground 恢复我的 Gmail 地址 我使用的范围是 email profile https www g