使用Desktop Flow在Google Console生成Refresh Token时遇访问错误
解决Google Ads OAuth桌面流跳转127.0.0.1无法访问的问题
可能原因及对应修复方案
本地端口未监听/被占用
- 检查
generate_refresh_token.py里的重定向URL端口,默认是8080,用命令确认端口是否被占用:Windows用netstat -ano | findstr :8080,Mac/Linux用lsof -i :8080。换一个未被占用的端口(比如8000),同时在Google Cloud控制台的OAuth客户端设置里更新重定向URL为http://127.0.0.1:新端口/。 - 暂时关闭本地防火墙,测试是否是防火墙阻止了本地端口的访问。
- 检查
OAuth客户端类型配置错误
桌面流必须使用桌面应用类型的OAuth客户端,而非Web应用。Web应用的重定向URL要求为公网域名,桌面应用才允许使用localhost/127.0.0.1的本地地址。如果之前创建的是Web应用类型,重新创建桌面应用类型的OAuth客户端,替换脚本里的Client ID和Secret。脚本参数或依赖问题
- 确认运行脚本时指定了正确的Google Ads API范围,一般为
https://www.googleapis.com/auth/adwords。 - 更新相关依赖包,避免版本兼容问题:
pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib2
- 确认运行脚本时指定了正确的Google Ads API范围,一般为
浏览器缓存或代理问题
- 用浏览器隐私窗口打开授权页面,清除旧的OAuth会话缓存。
- 暂时关闭代理,确保授权回调能直接访问本地127.0.0.1端口。
验证步骤
修改配置后重新运行generate_refresh_token.py,授权成功后浏览器应正常跳转至本地页面,显示生成的Refresh Token。
内容的提问来源于stack exchange,提问作者Snowflake Test
相关产品推荐
相关产品推荐

