List of file in a folder/ DRIVE API PyDRIVE

simone989 picture simone989 · Oct 24, 2016 · Viewed 14.6k times · Source

I can't change folder and view what's inside.

drive = GoogleDrive(gauth)
file_list = drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList()
for file1 in file_list:
print("File %s\n\n",(file1))

I used the following code:

file_list = drive.ListFile({'q': "'/test1' in parents and trashed=false"}).GetList()

but it doesn't work. There's the documentation of the functions I used: https://developers.google.com/drive/v3/reference/files/list

Answer

Robin Nabel picture Robin Nabel · Oct 25, 2016

You have to insert the folder ID instead of its path. You can get the ID in different ways:

  1. Using PyDrive: If you list all folders in root, you can list all folder names with their respective IDs.
  2. Using the Web interface: Navigate into the folder you want to get the ID from. Look at the URL, it has this format: drive.google.com/drive/u/0/folders/<folder ID>

Now insert the folder ID into the request.

file_list = drive.ListFile({'q': "'<folder ID>' in parents and trashed=false"}).GetList()

FYI: Google Drive is a tag-based (also called semantic) file system, which, for example, allows a file to be in several places at the same time (just by adding IDs of folders to the file's parents property).