Google Drive API 删除 Python

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

如何使用 Google Drive API 删除 Google Drive 中的文件?我正在使用 v3,并且几乎尝试了所有方法,但没有任何效果。我相信我尝试过的那些已经过时了,现在的方法是什么?

更新:我并没有真正尝试代码,只是在寻找方法,这就是我没有展示的原因。尽管如此,

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

我收到的错误与服务有关,它没有属性文件。我已经定义了其他所有内容(服务、文件 ID),所以我得出的结论是它已经过时了。

抱歉,顺便说一句,我使用的是手机。

python python-3.x google-api google-api-python-client google-drive-realtime-api
2个回答
7
投票

这段代码没问题。对我来说:

from __future__ import print_function
import os
from apiclient.http import MediaFileUpload
from apiclient import discovery
from httplib2 import Http
from oauth2client import file, client, tools

SCOPES = 'https://www.googleapis.com/auth/drive'
store = file.Storage('storage.json')
creds = store.get()
if not creds or creds.invalid:
    flow = client.flow_from_clientsecrets('credentials.json', SCOPES)
    creds = tools.run_flow(flow, store)
DRIVE = discovery.build('drive', 'v3', http=creds.authorize(Http()))

fileDelete='1AKMgCR6v-6uc-JSvhsttBITJzf7k-pDg'
file = DRIVE.files().delete(fileId=fileDelete).execute()

0
投票

以下代码可以删除文件而不是删除它(避免权限被拒绝):

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

如果您在共享云端硬盘中,请记住使用:

_ = service.files().update(fileId=fileDelete, body={'trashed': True}, supportsAllDrives=True ).execute()
© www.soinside.com 2019 - 2024. All rights reserved.