2021年9月13日Google Drive API更新对Pydrive认证的影响及问题咨询
问题1:credentials文件与PyDrive代码更新操作
- 第一步升级PyDrive依赖库:旧版本PyDrive默认调用已被废弃的Drive API v2接口,首先执行命令升级到最新稳定版:
pip install --upgrade pydrive - 调整OAuth权限范围配置:旧教程通常会配置全量Drive读写权限,建议根据实际使用场景替换为最小权限scope,你需要在代码的授权初始化部分修改scope参数,示例如下:
from pydrive.auth import GoogleAuth from pydrive.drive import GoogleDrive gauth = GoogleAuth() # 仅示例:如果你的场景只需要操作应用自己创建的文件/文件夹,用drive.file scope即可 # 如果你需要操作所有Drive内的文件,保留原drive scope也可正常运行 gauth.scope = ['https://www.googleapis.com/auth/drive.file'] # 以下沿用你原有自动加载credentials的逻辑即可 gauth.LoadCredentialsFile("mycreds.txt") if gauth.credentials is None: gauth.LocalWebserverAuth() elif gauth.access_token_expired: gauth.Refresh() else: gauth.Authorize() gauth.SaveCredentialsFile("mycreds.txt") drive = GoogleDrive(gauth) - credentials文件无需手动修改:原有已生成的credentials文件可继续使用,修改scope后重新走一次授权流程刷新token即可。如果你使用的是桌面端类型的OAuth客户端ID,只需要确认Google Cloud控制台中该客户端的重定向URI没有配置非本地地址的通配符,新版PyDrive会自动处理本地授权的重定向逻辑。
问题2:共享文件夹权限相关操作
本次安全更新不影响已配置的静态共享权限规则,你已经共享给其他用户的文件夹不需要做任何额外操作,原有权限即可正常生效。
如果你的代码中包含动态创建共享链接、新增/删除共享用户的逻辑,只需要确保你配置的OAuth scope包含对应权限即可,不需要额外调整共享相关的代码。
内容的提问来源于stack exchange,提问作者Alon8200
相关产品推荐
相关产品推荐

