Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to find folder in google drive

I have implement the function upload file to google drive. I have done it following the guide in quick start.

Now i'm doing the function upload file to specific folder *(Ex: upload file to "My_Folder_name")*. I found the sample in API Reference. The trouble is how can i get the parentId (folder id) if i only know the name of folder.

I could not find any function to search folder by name...

Is the only one way to get folder by get all the files, then check MimeType is equals with "application/vnd.google-apps.folder" and compare it with folder name.

if("application/vnd.google-apps.folder".equals(body.getMimeType()) && "My_Folder_name".equals(body.getTitle()) ){
            ....        
}

Thanks in advance.

like image 537
quantm Avatar asked Sep 21 '12 02:09

quantm


2 Answers

Edit as per Mike's comment:

name='foldername' is no longer correct in 2022

The new syntax should be: mimeType='application/vnd.google-apps.folder' and title = 'foldername'


Original answer:

Query should be as follows:

mimeType='application/vnd.google-apps.folder' and name='foldername'

In Python:

service.files().list(q="mimeType='application/vnd.google-apps.folder' and name='foldername'",
                                         spaces='drive',
                                         fields='nextPageToken, files(id, name)',
                                         pageToken=page_token).execute()

Note: name='foldername' not title='foldername'

like image 53
ChickenFeet Avatar answered Nov 15 '22 13:11

ChickenFeet


You can add the q query parameter to your request URL and use the Drive query language to restrict your search:

https://developers.google.com/drive/search-parameters

To search for folders only and restrict the search by title, your query should look like:

mimeType = 'application/vnd.google-apps.folder' and title = 'My_Folder_name'
like image 23
Claudio Cherubino Avatar answered Nov 15 '22 15:11

Claudio Cherubino