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

如何配置Google API/OAuth实现Python脚本无需重复认证运行?

解决PyDrive自动认证Google Drive的方案

Google允许无人工干预的自动认证,你可以通过**服务账号(Service Account)**实现,具体步骤如下:

1. 创建并配置Google服务账号

  • 登录Google Cloud控制台,创建新项目或使用现有项目
  • 启用Google Drive API
  • 创建服务账号:进入「IAM与管理员」→「服务账号」,点击「创建服务账号」,填写信息完成创建
  • 生成服务账号密钥:在服务账号详情页的「密钥」标签,点击「添加密钥」→「创建新密钥」,选择JSON格式,下载密钥文件(建议命名为client_secrets.json)

2. 授权服务账号访问目标Drive文件夹

  • 打开你的Google Drive,找到目标上传文件夹
  • 点击文件夹「分享」按钮,输入服务账号的邮箱(可在服务账号详情页获取),赋予「编辑」权限后保存

3. 修改PyDrive脚本实现自动认证

替换原有认证逻辑,使用服务账号密钥完成无交互认证:

from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive

# 配置服务账号认证
gauth = GoogleAuth()
# 传入服务账号密钥文件路径
gauth.ServiceAuth(service_account_file='path/to/client_secrets.json')
drive = GoogleDrive(gauth)

upload_file_list = ['file1.txt', 'file2.jpg']  # 替换为实际文件路径
for upload_file in upload_file_list:
    # 替换为目标文件夹的实际ID
    gfile = drive.CreateFile({'parents': [{'id': 'your-target-folder-id'}]})
    gfile.SetContentFile(upload_file)
    gfile.Upload()
    print(f"{upload_file} 上传完成")

注意事项

  • 确保密钥文件路径正确,脚本运行环境可访问该文件
  • 服务账号有独立的Drive存储空间,通过分享授权可访问你个人Drive内的文件夹
  • 若上传到服务账号自身的Drive,无需分享文件夹,直接使用服务账号Drive的文件夹ID即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 15:03:24