【问题标题】:Delete files/folders from google drive using API for Python使用 Python 的 API 从谷歌驱动器中删除文件/文件夹
【发布时间】:2019-10-05 09:58:52
【问题描述】:

我正在尝试使用 Python 的 API 从谷歌驱动器中删除文件,但编译器返回“权限不足:请求的身份验证范围不足”。

SCOPES1 = 'https://www.googleapis.com/auth/drive.file'
flow = InstalledAppFlow.from_client_secrets_file('client_secrets.json', SCOPES1)
creds = flow.run_local_server(port=8080)

service = build('drive', 'v3', credentials=creds)
file_id = 'xxxx'
service.files().delete(fileId=file_id).execute()

我该如何解决这个问题?

【问题讨论】:

  • 虽然从你的提问中我无法理解你的具体情况,比如将范围从https://www.googleapis.com/auth/drive.file修改为https://www.googleapis.com/auth/drive,你会得到什么结果?
  • Sid:您要删除的文件,是使用同一个应用程序创建的,还是由另一个应用程序/用户自己创建的?
  • @carlesgg97 它是由另一个应用程序创建的
  • @Tanaike 这两个范围我都试过了,但同样的错误仍然存​​在。
  • Sid:您能否检查是否可以手动删除尝试使用 API 删除但未成功的文件?也就是说,转到drive.google.com/open?id=<YOUR_FILE_ID> 并尝试将其从 UI 中删除。谢谢。

标签: python google-drive-api


【解决方案1】:

为了删除文件(据我所知,该文件是由您正在使用的应用程序以外的应用程序创建的),您需要范围 https://www.googleapis.com/auth/drive

之后,您必须确保在API console 中为您的项目定义了有效的范围和应用程序。为此,请转到 console.developers.google.com,在顶部下拉列表中选择您的项目,转到库并检查驱动应用程序是否已启用。然后,转到“OAuth 同意屏幕”并验证范围 https://www.googleapis.com/auth/drive 是否已添加到“Google API 范围”中。如果不是,请确保添加它。

在进行这些修改后,并假设凭据对此项目有效,您的脚本应该能够运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-03
    • 2019-07-27
    • 2019-11-13
    • 1970-01-01
    • 2013-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多