Php – Getting a list of files by folder on Drive SDK

google-drive-apiPHP

I am trying to build a web UI for users to navigate his/her Google Drive and select one or more documents to be referenced later on in a website from a DB. I am currently building a web interface using PHP.

The problem I am facing is that I cant find a single function to get a list of files by folder Id.

I tried using:

$service->children->listChildren($rootFolderId)

…but that will only give the files reference ID of the files within the folder (the so called children resource item), which means I have to loop through those files and create a call for each one of them in order to get all the metadata I need for my UI.

Unfortunately..

$service->files->list()

..will list ALL my files with no filtering options by folder.

I would like to know if there is an efficient way of extracting a folder file list from a single call to the Drive server. I actually remember being able to perform this taks over the old Google DOC API.

Thank you very much for your help

Best Answer

NB This answer uses the v2 API. New applications should write to the v3 API.

It is now possible to use the drive.files.list endpoint to list files belonging to a specific folder.

To do so, you can use the ?q= query parameter as follows:

GET https://www.googleapis.com/drive/v2/files?q="'<FOLDER_ID>' in parents"

In PHP, that would be

$service->files->list(array('q' => "'<FOLDER_ID>' in parents"));
Related Topic