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

Google Colab使用疑问:是否可以缓存Google Drive的身份验证信息?

Google Colab缓存Google Drive身份验证的可行方案

直接复用临时OAuth token失效是Colab运行时的特性导致的:Colab默认的运行时环境是临时分配的,授权凭证默认存储在运行时的本地路径中,运行时回收重启后路径会被清空,同时token的有效期限制也会导致直接复用失效。以下是两种稳定可行的缓存方案:

方案1:凭证持久化到个人Google Drive私有目录

该方案只需首次完成一次授权,后续新开运行时可直接读取保存的凭证完成验证,无需重复走授权流程:

  • 首次运行执行以下代码,完成授权后将凭证持久化存储到你的Drive私有路径:
from google.colab import auth, drive
from google.oauth2.credentials import Credentials
from google.auth.transport.requests import Request
import os, json

# 首次完成Drive挂载与授权
drive.mount('/content/drive')
auth.authenticate_user()

# 读取当前生成的授权凭证
with open('/content/adc.json', 'r') as f:
  creds_data = json.load(f)

# 新建私有存储目录并保存凭证,避免后续被运行时清理
!mkdir -p /content/drive/MyDrive/private_colab_auth
with open('/content/drive/MyDrive/private_colab_auth/colab_drive_creds.json', 'w') as f:
  json.dump(creds_data, f)
  • 后续每次新开运行时,执行以下代码直接读取存储的凭证完成验证:
from google.oauth2.credentials import Credentials
from google.auth.transport.requests import Request
from googleapiclient.discovery import build
import json
from google.colab import drive

# 先快速挂载Drive(该步骤仅读取已保存的凭证,不需要弹出授权页面)
drive.mount('/content/drive', force_remount=False)

# 读取提前存储的授权凭证
with open('/content/drive/MyDrive/private_colab_auth/colab_drive_creds.json', 'r') as f:
  saved_creds = json.load(f)
creds = Credentials.from_authorized_user_info(saved_creds)

# 凭证过期时自动刷新,无需重新授权
if creds and creds.expired and creds.refresh_token:
  creds.refresh(Request())

# 初始化Drive服务,身份验证完成
drive_service = build('drive', 'v3', credentials=creds)

方案2:使用drive.mount参数减少重复授权

如果你的运行时不会被频繁回收,可以直接使用Colab自带的参数跳过重复挂载验证,该方法操作最简单:

from google.colab import drive
# force_remount设为False时,只要当前运行时已完成过授权,就不需要重新验证
drive.mount('/content/drive', force_remount=False)

注意:该方法仅在当前运行时未被回收的情况下生效,运行时重启后仍然需要重新授权,适合短时间内多次挂载的场景。

注意事项

  • 授权凭证文件包含你的Google账号操作权限,请不要将文件分享给他人,也不要存放在Drive的公开共享目录中,避免权限泄露
  • 谷歌官方限制OAuth refresh token的最长有效期为6个月,若超过6个月未使用该凭证,需要重新执行首次授权流程更新凭证
  • 如果你修改了账号密码、手动撤销了Colab的授权权限,已保存的凭证会直接失效,需要重新生成

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:30:01