【问题标题】:Insufficient permission error while deleting files google drive删除文件谷歌驱动器时权限不足错误
【发布时间】:2019-11-08 03:13:24
【问题描述】:

我正在尝试删除我的谷歌驱动器中的所有文件。

request = drive_service.files().list().execute()
for a in request["files"]:
    drive_service.files().delete(fileId=a["id"]).execute()

我得到了什么:

返回权限不足错误。

我想要什么:

删除所有文件并删除与我共享的所有内容,使其看起来像一个全新的驱动器。

编辑:

编辑 2:

是否可以删除这些文件?

编辑 3

由于文件是与我共享的,我认为不能与他们一起使用delete() 功能,因为我不是所有者。 那么如何从驱动器中删除这些文件,以及权限不足的错误解决方法。

【问题讨论】:

  • 我使用的范围是https://www.googleapis.com/auth/drive
  • 请查看此链接希望您的问题得到解决Here link
  • 提供的范围在Gdrive 中具有最高优先级,因此在纸面上,如果您已正确实施所有内容,您应该能够删除您的谷歌驱动器帐户中的任何文件(应用程序数据文件夹除外) .
  • 我已经添加了我可以在谷歌驱动器网站上的“与我共享”上做的图片,但不是在 api @Suman
  • @VasuDeo.s 您能否检查添加的编辑以清楚地了解问题

标签: python google-api google-drive-api google-oauth google-api-python-client


【解决方案1】:

权限不足

表示您当前已通过身份验证的用户尚未授予您执行您正在尝试执行的操作的权限。或者他们自己的用户无权执行您正在尝试执行的操作。

范围

为了让您的应用程序能够删除文件,您需要对用户驱动器帐户具有写入权限。当您对用户进行身份验证时,您提供了一个范围如果您关注tutorials 之一,那么您很可能使用了类似

https://www.googleapis.com/auth/drive.metadata.readonly

范围用于定义您的应用程序需要什么访问权限以及用户请求以运行您的应用程序。此范围只会授予您对用户驱动器帐户的读取权限。您需要的是完全访问权限。

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

确保再次重新验证您的应用程序。它应该再次弹出并要求您授予它访问权限。一旦您运行了请求正确访问权限的应用程序,这将起作用。

用户不拥有该文件

如果用户自己不拥有该文件,他们就不能删除它。

【讨论】:

  • 我使用并尝试了所有范围,包括您答案中的范围
  • 您是否验证了您的应用程序?是否再次弹出并显示同意屏幕?
  • 是的,每次我都删除了令牌文件并重新验证它
  • 这是“与我共享”的文件,我无法从驱动器中删除
  • 这是一个不同的问题,您需要删除用户对文件的权限而不是删除文件。 stackoverflow.com/a/56770999/1841839 这应该会告诉您如何操作,您需要将调用转换为 python。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-15
  • 1970-01-01
  • 2014-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多