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

Google Colab如何无用户交互完成Google服务身份认证

Colab无交互认证实现方案

要适配colabctl自动化运行,直接替换掉原来依赖auth.authenticate_user()和交互式挂载的逻辑,用服务账号做认证即可全程无弹窗,不需要任何手动确认操作。

前置准备

  • 到Google Cloud控制台创建服务账号,给对应项目开通Google Drive API、Google Sheets API权限
  • 给服务账号分配必要的角色权限,如果要访问个人账号下的Drive文件、Sheets表格,提前把对应文件/文件夹共享给服务账号的邮箱地址
  • 下载服务账号的JSON格式密钥文件,通过colabctl提前上传到Colab运行环境的固定路径,或者存到可稳定访问的存储位置

可直接替换的代码

# 配置项:替换成你自己的服务账号密钥存放路径
SERVICE_ACCOUNT_KEY = "/content/your-service-account-key.json"

# --------------------------
# Google Drive 无交互访问
# --------------------------
from google.oauth2 import service_account
from googleapiclient.discovery import build

# 权限范围根据需求调整,只读场景可以把/drive改成/drive.readonly
DRIVE_SCOPES = ["https://www.googleapis.com/auth/drive"]
drive_creds = service_account.Credentials.from_service_account_file(
    SERVICE_ACCOUNT_KEY, scopes=DRIVE_SCOPES
)
# 后续Drive文件读写都通过drive_service调用即可
drive_service = build("drive", "v3", credentials=drive_creds)

# 如果你必须用drive.mount的本地挂载路径形式,也可以用预存凭据的方式跳过弹窗:
# 提前在本地交互式Colab环境跑一次drive.mount完成授权,把/root/.config/drive目录下的凭据文件存下来
# 自动化运行时先把存好的凭据文件拷贝到对应路径,再调用挂载即可,不会弹出确认窗口
# import os
# from google.colab import drive
# !mkdir -p /root/.config/drive
# !cp /path/to/your/saved/drive_creds.json /root/.config/drive/credentials.json
# drive.mount('/content/drive', force_remount=True)

# --------------------------
# Google Sheets 无交互访问
# --------------------------
import gspread
from gspread_dataframe import get_as_dataframe, set_with_dataframe

SHEETS_SCOPES = [
    "https://www.googleapis.com/auth/spreadsheets",
    "https://www.googleapis.com/auth/drive"
]
sheets_creds = service_account.Credentials.from_service_account_file(
    SERVICE_ACCOUNT_KEY, scopes=SHEETS_SCOPES
)
gc = gspread.authorize(sheets_creds)
# 后续gspread、gspread_dataframe的用法和原有代码完全一致,不需要修改业务逻辑

踩坑提示

  • 服务账号是独立的虚拟账号,和个人Google账号不互通,凡是要访问的个人Drive文件、Sheets表格,必须手动给服务账号邮箱开对应权限,否则一定会报403权限错误
  • 服务账号密钥不要明文写在公开脚本里,避免泄露后被他人盗用云资源权限
  • 预存用户凭据的方式虽然不需要额外创建服务账号,但凭据有有效期,过期后需要重新手动生成,长期自动化运行优先选服务账号方案,稳定性更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 04:33:25