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

问题描述 投票:0回答:1

作为文件夹的所有者,我想使用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."">

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

python-2.7 google-api google-drive-sdk google-api-python-client
1个回答
1
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.