Python调用Google Drive API上传文件报Insufficient Permission错误求解
问题原因排查及解决方案
你遇到的403权限不足错误本质是当前使用的OAuth身份凭证未获得Google Drive上传操作的对应授权,可按以下顺序排查:
1. 本地缓存的身份令牌未更新(最常见原因)
你使用的Create_Service函数会将首次授权后的凭证保存在token_drive_v3.pickle缓存文件中,后续运行代码会优先读取该缓存,不会自动识别你修改后的权限范围(SCOPES)。
- 解决方案:
- 删除Replit项目根目录下的
token_drive_v3.pickle文件 - 重新运行代码,按照终端提示完成新的OAuth授权流程,新的权限配置即可生效
- 删除Replit项目根目录下的
2. 权限范围(SCOPES)配置冗余冲突
你当前配置了7个不同的Drive权限范围,其中包含多个只读权限,冗余的权限配置可能触发权限优先级冲突,上传文件仅需要最小范围的权限即可。
- 解决方案:
将SCOPES修改为仅保留所需权限即可,示例如下:
如果你需要操作Drive内所有已有的文件,可替换为全量权限:# 仅允许操作通过API创建的文件,权限最小最安全 SCOPES = ['https://www.googleapis.com/auth/drive.file']SCOPES = ['https://www.googleapis.com/auth/drive']
3. 目标文件夹权限不足
你代码中指定的folder_id对应Drive文件夹,需要确认你完成OAuth授权的Google账号对该文件夹有编辑权限。
- 解决方案:
打开Google Drive网页端,找到对应ID的文件夹,右键点击共享选项,确认授权账号的权限为「编辑者」,若为查看者/评论者权限则需要修改权限配置。
内容的提问来源于stack exchange,提问作者Sven
相关产品推荐
相关产品推荐

