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

如何在无浏览器的AWS虚拟机中配置Gmail API?

解决无浏览器环境下Gmail API的认证问题

针对你在无浏览器的AWS虚拟机中运行Gmail API快速启动脚本时遇到的浏览器缺失报错,可以通过离线授权模式绕过浏览器认证,具体步骤如下:

1. 修改认证逻辑生成授权URL

修改quickstart.py里的认证代码,替换原有的creds = flow.run_local_server(port=0)部分,改为手动生成授权URL并获取授权码:

from google_auth_oauthlib.flow import InstalledAppFlow

SCOPES = ['https://www.googleapis.com/auth/gmail.readonly']

def main():
    flow = InstalledAppFlow.from_client_secrets_file(
        'credentials.json', SCOPES)
    # 生成授权URL
    auth_url, _ = flow.authorization_url(prompt='consent')
    print("请在本地有浏览器的设备中访问以下URL完成授权:")
    print(auth_url)
    # 等待输入授权码
    auth_code = input("请输入授权后页面显示的授权码:")
    # 通过授权码获取凭证
    flow.fetch_token(code=auth_code)
    creds = flow.credentials

    # 后续保存凭证、调用API的逻辑保持不变
    # ...

2. 在本地浏览器完成授权获取码

  • 把终端输出的auth_url复制到本地有浏览器的设备打开,登录你的Google账号并完成授权操作
  • 授权成功后,页面会跳转并显示一串授权码,复制该代码

3. 在AWS虚拟机中完成认证

回到AWS虚拟机的终端,粘贴刚才复制的授权码并回车,程序会自动生成并保存认证凭证,后续运行脚本时就无需再次认证了。

注意事项

  • 确保credentials.json文件已正确上传到AWS虚拟机的对应目录
  • 授权码仅单次有效,若后续需要重新认证,需再次生成新的授权URL

内容的提问来源于stack exchange,提问作者ruben

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 00:49:53