无法获取OAuth2访问令牌,AdWords API Ruby接入故障求助
解决AdWords API OAuth2授权错误及Client ID类型选择问题
看起来你在使用google-api-ads-ruby工具获取AdWords API的OAuth2访问令牌时遇到了两个核心问题:授权URL打开报错,以及找不到官方文档里提到的「已安装应用」Client ID类型。我来帮你一步步解决:
一、先修正Client ID的类型问题
现在Google Cloud Console里的「已安装应用」选项已经更名为**「桌面应用」**,你之前选的「其他」类型并不适配AdWords的已安装应用授权流程,这大概率是导致授权URL报错的原因。按照以下步骤重新创建正确的Client ID:
- 登录Google Cloud Console,定位到你的项目
- 进入「API和服务」→「凭据」页面
- 删除之前创建的「其他」类型OAuth客户端ID
- 点击「创建凭据」→「OAuth客户端ID」
- 在「应用类型」里选择**「桌面应用」**(这就是官方文档里的「已安装应用」)
- 完成创建后,复制新的Client ID和密钥,替换
adwords_api.yml文件里对应的字段
二、重新执行授权流程
修正Client ID后,按官方指南重新操作:
- 再次运行
setup_oauth2.rb脚本 - 复制控制台输出的授权URL到浏览器打开(这次应该能正常跳转了)
- 登录你的AdWords授权账号,完成身份验证后获取验证码
- 将验证码粘贴回命令行,完成OAuth2令牌的获取
额外检查项
- 确认
adwords_api.yml里的redirect_uri设置为urn:ietf:wg:oauth:2.0:oob,这个值和「桌面应用」类型的授权流程完全匹配 - 确保你的开发者令牌是有效的,并且关联的AdWords账号状态正常(没有被限制)
- 检查授权URL里的
scope参数是否为https://www.googleapis.com/auth/adwords,这个是AdWords API所需的正确权限范围
如果还是遇到问题,可以尝试清除浏览器的缓存和Cookie后再打开授权URL,或者换一个浏览器试试。
内容的提问来源于stack exchange,提问作者Jay Jeong
相关产品推荐
相关产品推荐

