无需凭证能否将文件上传至他人分享的Shared Drive文件夹?
核心结论
不存在完全无凭证即可调用Google Drive API完成文件上传的情况,所有API请求都必须携带合法鉴权凭证,但你不一定需要对方提供他的Google Cloud项目相关的project_id、private_key等凭证信息。
两种场景的凭证要求说明
- 对方已将共享文件夹的编辑权限开放给你个人的Google账号(或者设置为「所有拿到链接的人都可编辑」)
这种就是对方所说的「无需额外材料」的场景:你直接用自己平时可正常登录Google Drive的个人账号走OAuth2鉴权流程即可,完全不需要对方提供他的项目凭证。
你之前给个人盘开发的上传代码只需要做两处修改就能适配:- 替换上传目标为该共享文件夹的ID
- 在所有Drive API的请求参数中加上
supportsAllDrives=true,否则API默认仅检索你的个人存储空间,无法定位到共享文件夹
你可以先在浏览器登录自己的Google账号后打开共享链接,确认是否可以直接手动上传文件,只要手动操作可行,用自己的账号鉴权调用API就一定可行。
- 对方未给你的个人Google账号开放编辑权限,要求你以他的项目身份操作
这种情况下才需要对方向你提供他的Google Cloud项目对应的鉴权凭证,比如服务账号JSON密钥、预生成的访问令牌等,同时他还需要提前给对应服务账号/项目身份配置共享文件夹的编辑权限。
内容的提问来源于stack exchange,提问作者user14943311
相关产品推荐
相关产品推荐

