You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Cloud Shell中解决InstalledAppFlow认证重定向并获取密钥

解决Google Cloud Terminal中OAuth2认证重定向失败的问题

你遇到的问题本质是Cloud Terminal的云端环境和本地浏览器不在同一网络,run_local_server()默认重定向到本地localhost,而这个地址在云端环境里指向的是终端虚拟机,不是你的本地电脑,所以无法访问。换用控制台授权模式就能解决,具体步骤如下:

1. 修改认证代码

把原来的run_local_server()替换成run_console()方法,这个方法会生成可手动复制的授权链接,不需要依赖本地重定向:

from google_auth_oauthlib.flow import InstalledAppFlow
from google.oauth2.credentials import Credentials

# 初始化认证流
auth_flow = InstalledAppFlow.from_client_secrets_file(
    client_secrets_file=client_secret_json_file_path, 
    scopes=scopes
)

# 使用控制台模式完成认证
credentials = auth_flow.run_console()

# 可选:保存凭证到本地文件,下次无需重复认证
if credentials and credentials.valid:
    with open('token.json', 'w') as token_file:
        token_file.write(credentials.to_json())

2. 执行认证流程

  • 运行修改后的代码,终端会输出一段授权URL。
  • 复制这个URL到你本地的浏览器中打开,登录你的Google账号并完成授权。
  • 授权成功后,浏览器会显示一串授权码,复制这串代码。
  • 回到Cloud Terminal,将授权码粘贴到终端的输入提示框,按回车完成认证。

3. 确认客户端ID配置正确

在Google Cloud Console的「API和服务」→「凭据」页面,确保你创建的是桌面应用类型的客户端ID(InstalledAppFlow对应此类型),不需要额外配置重定向URI。

完成以上步骤后,就能获取到有效的认证凭据,用于后续调用Google API。

内容的提问来源于stack exchange,提问作者Elad Ben-David

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 15:20:05