如何删除其他用户拥有的文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何删除其他用户拥有的文件相关的知识,希望对你有一定的参考价值。

作为文件夹的所有者,我想使用v3 python文件API来删除另一个用户拥有的文件。这是一个经常性的主题,但我没有找到完全解释工作流程的解决方案。

我正在做的一般假设是我应该能够删除我拥有的文件夹中的文件。

范围:https://www.googleapis.com/auth/drive

尝试永久删除文件时:

service.files().delete( fileId=file_id ).execute()

结果是:

<HttpError 403 when requesting https://www.googleapis.com/drive/v3/files/1zbEBsHRpqbGkDJ6Gh5eU8OxU4IVEAo0I? returned "The user does not have sufficient permissions for this file.">

在尝试删除文件时:

service.files().update( fileId=file_id, body={'trashed':True} ).execute()

结果是:

ERROR: Error deleting file: <HttpError 403 when requesting https://www.googleapis.com/drive/v3/files/1zbEBsHRpqbGkDJ6Gh5eU8OxU4IVEAo0I?alt=json returned "The user does not have sufficient permissions for this file.">

如果我尝试更新文件权限以自己重新定义所有者:

perms = { 'emailAddress': '<myemail>@gmail.com', 'type': 'user', 'role': 'owner', 'kind': 'drive#permission' }
service.permissions().create( fileId=file_id, transferOwnership=True, body=perms ).execute()

结果是:

googleapiclient.errors.HttpError: <HttpError 400 when requesting https://www.googleapis.com/drive/v3/files/1zbEBsHRpqbGkDJ6Gh5eU8OxU4IVEAo0I/permissions?alt=json&transferOwnership=true returned "Bad Request. User message: "Sorry, you do not have permission to share."">

这个主题的变化已经浮出水面,但我还没有找到一个有效的解决方案。

答案

“用户对此文件没有足够的权限。”

完全意味着您没有执行您尝试执行的操作所需的权限。您无法删除不属于您的文件。即使文件位于您拥有的目录中。这是Google云端硬盘的限制,与您的代码无关。

解决方案是让文件的所有者删除它或让您拥有相关文件的所有权。

以上是关于如何删除其他用户拥有的文件的主要内容,如果未能解决你的问题,请参考以下文章

允许用户删除拥有的前缀数据库

如何从一个片段中删除数据,这些片段应该反映在google firebase中的其他片段中

如何更改linux文件的拥有者及用户组

仅允许用户为他创建/拥有的资源创建其他用户和策略

如何使作曲家在容器中创建非root用户拥有的文件?

如何限制对 Firestore 中用户拥有的文档的写入?