作为文件夹的所有者,我想使用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."">
这个主题的变化已经浮出水面,但我找不到有效的解决方案。
答案 0 :(得分:1)
“用户对此文件没有足够的权限。”
完全意味着您没有执行您尝试执行的操作所需的权限。您无法删除不属于您的文件。即使文件位于您拥有的目录中。这是Google云端硬盘的限制,与您的代码无关。
解决方案是让文件的所有者将其删除,或者让您拥有相关文件的所有权。