You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Google Access Token获取邮箱地址?接口未返回邮箱ID求助

解决Google OAuth2 userinfo接口无法获取邮箱的问题

你遇到的问题核心在于授权阶段没有请求邮箱相关的权限范围(Scope)——Google OAuth 2.0要求必须明确声明需要访问的用户数据权限,否则接口不会返回未授权的字段。下面是具体的解决步骤:

  • 第一步:更新授权请求的Scope
    在发起OAuth授权请求时,需要添加email(或等价的https://www.googleapis.com/auth/userinfo.email)到你的scope列表中。比如如果之前你的scope只有profile,现在要修改为:

    profile email
    

    这个scope会告诉Google你需要访问用户的邮箱信息。

  • 第二步:重新获取Access Token
    之前的access token是基于旧的scope生成的,不包含邮箱访问权限,所以必须引导用户重新完成授权流程,获取新的access token。

  • 第三步:验证结果
    用新的access token再次调用https://www.googleapis.com/oauth2/v1/userinfo?access_token=' + token,此时返回的响应应该会包含email字段,类似这样:

    {
    "id": "00000000000000",
    "name": "Fred Example",
    "given_name": "Fred",
    "family_name": "Example",
    "picture": "https://lh5.googleusercontent.com/-2Sv-4bBMLLA/AAAAAAAAAAI/AAAAAAAAABo/bEG4kI2mG0I/photo.jpg",
    "locale": "en",
    "email": "fred.example@gmail.com",
    "verified_email": true
    }

额外补充:如果后续需要获取更多用户关联信息,也可以考虑使用Google People API的people.get接口,但针对当前需求,调整scope并重新获取token就足够解决问题了。

内容的提问来源于stack exchange,提问作者Mahendra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:21:58