Skip to content Skip to sidebar Skip to footer

How To Delete Multiple Files At Once Using Google Drive Api

I'm developing a python script that will upload files to a specific folder in my drive, as I come to notice, the drive api provides an excellent implementation for that, but I did

Solution 1:

You can batch multiple Drive API requests together. Something like this should work using the Python API Client Library:

defdelete_file(request_id, response, exception):
  if exception isnotNone:
    # Do something with the exceptionpasselse:
    # Do something with the responsepass

batch = service.new_batch_http_request(callback=delete_file)

for file in children["items"]:
  batch.add(service.files().delete(fileId=file["id"]))

batch.execute(http=http)

Solution 2:

If you delete or trash a folder, it will recursively delete/trash all of the files contained in that folder. Therefore, your code can be vastly simplified:

dir_id = "my folder Id"
file_id = "avoid deleting this file"

service.files().update(fileId=file_id, addParents="root", removeParents=dir_id).execute()
service.files().delete(fileId=dir_id).execute()

This will first move the file you want to keep out of the folder (and into "My Drive") and then delete the folder.

Beware: if you call delete() instead of trash(), the folder and all the files within it will be permanently deleted and there is no way to recover them! So be very careful when using this method with a folder...

Post a Comment for "How To Delete Multiple Files At Once Using Google Drive Api"