测试Google应用调用Google API无法获取Refresh Token求助
问题排查:Google OAuth仅返回Access Token,无Refresh Token
核心排查方向
授权请求未包含
offline_access权限范围
Google OAuth规则里,只有在引导用户授权的环节(即获取code的那个URL)添加了offline_accessscope,令牌交换接口才会返回Refresh Token。你当前的代码仅处理了令牌交换步骤,但之前的授权URL必须包含该权限范围,否则接口只会返回Access Token。授权码(
code)被重复使用
每个授权码只能用于一次令牌交换,重复使用同一code时,接口会返回Access Token,但不会返回Refresh Token。确认你使用的code是首次获取且未被用过。应用配置不匹配
登录Google Cloud控制台检查:- 应用的OAuth客户端类型是否和实际场景匹配(Web/桌面/移动)
redirect_uri是否和控制台中配置的授权回调地址完全一致,包括协议、域名、路径
查看完整响应内容
打印access_token_data的全部字段,确认是否存在error或error_description字段,部分权限不足的场景会静默返回仅含Access Token的结果。
补充说明
如果是授权URL缺失权限的问题,授权URL需包含offline_access,示例结构如下:
https://accounts.google.com/o/oauth2/v2/auth? client_id=你的客户端ID& redirect_uri=你的回调地址& response_type=code& scope=openid email profile offline_access
内容的提问来源于stack exchange,提问作者Honey Anand2
相关产品推荐
相关产品推荐

