我想获得根目录中的文件和文件夹列表,而不必对所有文件进行排序。有没有可以做到这一点的查询?
问问题
11911 次
4 回答
26
根文件夹也可以使用名为“root”的特殊别名来寻址,因此您可以使用以下查询获取根目录中的所有文件和文件夹:
https://www.googleapis.com/drive/v2/files?q='root' in parents
如果不使用客户端库之一(它们会自动处理它),请记住转义 URL。
有关搜索查询语言的更多详细信息,请查看https://developers.google.com/drive/search-parameters
于 2012-07-29T20:23:27.637 回答
6
此代码将显示您的根目录的所有文件和文件夹。只需复制并粘贴此代码,您将获得所有根目录的文件和文件夹。
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());
}
于 2014-04-03T11:29:05.567 回答
0
Google drive v3 参考文档有助于创建 DriveClient 对象。
在后台线程(Android)中运行以下方法。
注意:所需的范围权限“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;
}
于 2019-06-26T12:36:55.680 回答
0
共享驱动器的查询应该是"'driveId' in parents
。
仅'root'
适用于我的云端硬盘。
于 2021-07-02T02:51:53.267 回答