javascript - 如何删除不属于我但与我共享的文件 Google Drive API v3
问题描述
这是我的问题:
- 我有一个我自己的文件夹。
- 我将X帐户的权限设置为我的文件夹为“作家”
- X 帐户将文件上传到我的文件夹。(X 成为所有者,我成为该文件的编辑/作者/贡献者)
- 我可以通过drive.google.com将上传的文件移动到垃圾箱,但不能通过 Drive Api v3
这是我的代码:
setTrashedTrue(fileId, callback) {
authenticate(function (auth) {
const drive = google.drive({ version: 'v3', auth });
drive.files.update(
{
fileId,
resource: {
trashed: true
}
},
(err, res) => {
if (err) return console.log('The API returned an error: ' + err);
callback(res);
}
);
});
}
我用来编写上述代码的资源:https ://developers.google.com/drive/api/v3/reference/files/update
这会引发一个错误,上面写着:
API 返回错误:错误:用户对此文件没有足够的权限。
显然你不能删除你不拥有的文件。因为它试图永久删除它。但是我应该能够像使用驱动器网站一样将其移至垃圾箱。
我打印了上传文件的详细信息。这是相关的结果:(功能适用于我的帐户,而不是文件的所有者。)
...
ownedByMe: false,
capabilities: {
...
canDelete: false,
canDownload: true,
canEdit: true,
canListChildren: false,
canModifyContent: true,
canMoveItemIntoTeamDrive: false,
canMoveItemOutOfDrive: false,
canReadRevisions: true,
canRemoveChildren: false,
canRename: true,
canShare: true,
canTrash: false, <--------------
canUntrash: false
}
...
如您所见,它告诉我我无权丢弃它,但实际上我有。那么,作为编辑者,我如何删除不属于我但与我共享的文件?
解决方案
推荐阅读
- typescript - Visual Studio 2019 如何发现 TypeScript 定义文件?
- animation - 如何将 Figma 中的动画导出为 Lottie 格式?
- flutter - 将变量名作为函数参数传递
- amazon-s3 - 如何在 AWS s3 中同时拥有公共访问和私有访问?
- android - Gradle - 工件的空提取文件夹:ResolvedArtifact
- python - 从 Jupyter 笔记本到 Python 脚本的 PySyft
- flutter - 在颤振中,如何根据存储在数据库中的值设置暗/亮主题?
- python - 如何将 parmiko SFTP 中的文件保存到 pandas 数据帧
- apache-spark - 无法使用独立火花集群在 jupyter 上执行 pyspark 客户端
- security - 激活服务帐户后无法使用我的个人帐户登录gloud