Python调用Google Drive API用appdata权限上传文件报错403如何解决
问题原因
- 旧授权凭证未清理:调整SCOPE后你没有删除本地已生成的
token.json文件,历史缓存的凭证仅携带之前授权过的权限,没有drive.appdata对应的操作权限,导致请求被拒绝。 - API版本字段不兼容:你调用的是Google Drive v3版本的接口,但文件元数据中使用了v2版本的
title字段定义文件名,v3版本对应文件名的字段为name,字段不匹配会导致元数据解析异常,间接触发权限报错。
解决步骤
- 删除本地项目目录下的
token.json文件,清除过期的授权凭证。 - 修改代码中
file_metadata的配置,调整为v3接口的规范写法:
file_metadata = { 'name': 'token_lol.json', 'parents': ['appDataFolder'] }
- 重新运行脚本,此时会重新弹出授权窗口,完成授权后即可正常将文件上传到appDataFolder目录,无需使用全量的
drive权限。
内容的提问来源于stack exchange,提问作者Hosam Hashem
相关产品推荐
相关产品推荐

