Google Cloud应用配置scope后无法获取userinfo.email接口返回的邮箱信息
问题排查步骤
- 首先确认OAuth授权请求中是否显式包含了
https://www.googleapis.com/auth/userinfo.emailscope:仅在Google Cloud控制台配置scope权限不会自动生效,必须在发起的OAuth授权请求参数中明确添加该scope,用户授权同意后才会下发对应权限的令牌。 - 验证access_token的权限范围:解析你当前使用的access_token,查看返回的
scope字段如果没有出现email相关标识,说明授权流程确实没有申请到邮箱权限,回到上一步修正授权请求参数即可。 - 确认测试用Google账号的邮箱隐私设置:部分用户会在Google账号隐私设置中将邮箱设为非公开状态,这种场景下即使授权了email scope,接口也不会返回邮箱字段,可更换其他测试账号验证是否为账号本身设置问题。
- 检查userinfo接口的调用逻辑:正常情况下调用
https://www.googleapis.com/oauth2/v3/userinfo即可获取所有已授权的用户信息,不需要单独调用所谓的userinfo.email独立接口,确认你没有误调用不存在的接口路径。
内容的提问来源于stack exchange,提问作者Asjad Majid
相关产品推荐
相关产品推荐

