使用Google Docs API快速入门Go脚本时OAuth2授权后连接被拒绝
Google Docs API Go快速入门OAuth授权连接拒绝问题解决
常见原因及修复步骤
本地端口未正常监听
官方脚本默认启动本地HTTP服务器监听localhost:8080,若脚本未正确启动该服务或端口被占用,会触发连接拒绝。- 检查脚本中是否包含本地服务器启动逻辑,确保有类似代码:
srv := &http.Server{Addr: ":8080"} go func() { if err := srv.ListenAndServe(); err != nil && !errors.Is(err, http.ErrServerClosed) { log.Fatalf("listen: %s\n", err) } }() - 用
lsof -i :8080(Mac/Linux)或netstat -ano | findstr :8080(Windows)检查端口占用,杀掉占用进程或修改脚本端口号,同时在Google Cloud控制台的OAuth 2.0客户端ID设置中,将重定向URI更新为http://localhost:新端口/。
- 检查脚本中是否包含本地服务器启动逻辑,确保有类似代码:
OAuth客户端ID重定向URI配置错误
登录Google Cloud控制台,进入项目→API和服务→凭据→OAuth 2.0客户端ID,确认重定向URI包含http://localhost:8080/(需与脚本监听端口一致)。未配置则添加后保存,重新运行脚本尝试授权。防火墙或权限拦截
临时关闭本地防火墙测试是否能正常访问localhost端口,同时确保运行脚本的终端有足够权限启动本地HTTP服务。手动获取授权码绕过本地服务
若本地服务器始终无法正常运行,可手动获取授权码:- 复制脚本运行时控制台输出的授权链接并在浏览器打开
- 完成授权后,复制地址栏中
code参数的值 - 将该值粘贴到运行脚本的终端并按回车,继续后续流程
复现情况
该问题可稳定复现:
- 当
localhost:8080被其他程序占用,脚本无法启动监听服务,授权后重定向会触发连接拒绝 - 当OAuth客户端ID的重定向URI未正确配置,即使本地服务正常,也会出现连接错误或无法传递授权码
内容的提问来源于stack exchange,提问作者Backo
相关产品推荐
相关产品推荐

