在Google Colab运行时重新认证或移除PyDrive身份认证
嘿,我来帮你搞定PyDrive切换谷歌账号的问题!你当前用的是应用默认凭证,这种方式会自动复用本地已登录的谷歌账号或环境变量里的凭证,没法手动选账号。要实现切换账号登录,得改用PyDrive的OAuth 2.0交互式授权流程,具体步骤如下:
切换PyDrive谷歌账号的认证方案
1. 准备OAuth客户端配置文件
- 登录谷歌云控制台,新建或使用已有项目
- 进入「API和服务」→「OAuth同意屏幕」,完成基础配置(测试模式即可,记得添加测试账号)
- 到「凭据」页面,创建「OAuth客户端ID」,选择「桌面应用」类型
- 下载生成的
client_secrets.json文件,放到你的Python脚本同一目录下
2. 修改认证代码,启用交互式账号选择
把你原来的认证代码替换成下面的版本:
from pydrive.auth import GoogleAuth from pydrive.drive import GoogleDrive # 初始化GoogleAuth对象 gauth = GoogleAuth() # 启动本地web服务器,自动打开浏览器让你选择要登录的谷歌账号 gauth.LocalWebserverAuth() # 创建Drive实例,关联新的认证凭据 drive = GoogleDrive(gauth)
3. 强制重新选择账号(可选)
如果你之前已经用某个账号登录过,PyDrive会把凭证存在本地的credentials.json文件里,下次启动会自动加载。如果想强制重新选账号:
- 直接删除脚本目录下的
credentials.json文件 - 或者在代码里先重置凭据再调用授权:
gauth.credentials = None gauth.LocalWebserverAuth()
额外说明
LocalWebserverAuth()会启动一个临时本地web服务器,用来接收谷歌的授权回调,登录完成后会自动关闭- 第一次登录后,凭证会存在
credentials.json里,后续启动会自动复用,除非你删除该文件或强制重置授权
这样你就能轻松切换到其他谷歌账号,用PyDrive访问对应的云端存储啦!
内容的提问来源于stack exchange,提问作者Nikhil Mishra
相关产品推荐
相关产品推荐

