Query for list of files and folders in root directory
-
13-12-2019 - |
Question
I would like to get a list of files and folders in the root directory without having to sort through all the files. Is there a query that would do this?
Solution
The root folder can also be addressed with a special alias named "root", so you can get all files and folders in the root with the following query:
https://www.googleapis.com/drive/v2/files?q='root' in parents
Remember to escape the URL if not using one of the client libraries (they automatically take care of it).
For more details about the search query language, check https://developers.google.com/drive/search-parameters
OTHER TIPS
This code will display all files and folder of your ROOT DIRECTORY. just copy and paste this code and you will get all your root's file and folder.
List<File> result = new ArrayList<File>();
Files.List request = null;
try {
request = mService.files().list();
FileList files = request.setQ("'root' in parents and trashed=false").execute();
result.addAll(files.getItems());
request.setPageToken(files.getNextPageToken());
}
catch (IOException e)
{
System.out.println("An error occurred: " + e);
request.setPageToken(null);
}
//Print out all the files and folder of root Directory
for(File f:result)
{
System.out.println("recvd data are: "+f.getTitle());
}
Google drive v3 Reference the documentation helps to create DriveClient object.
Run this below method in the background thread(Android).
Note: Required Scope permission "DriveScopes.DRIVE"
protected String[] getListChildren(String parentId) throws Exception {
String[] children = null;
parentId = parentId == null ? "root" : parentId;
String fileQuery = "'" + parentId + "' in parents and trashed=false";
FileList files = driveService.files().list().setQ(fileQuery).execute();
List<String> fileNames = new ArrayList<String>();
for (File file : files.getFiles()) {
fileNames.add(file.getName());
}
children = fileNames.toArray(new String[0]);
return children;
}