我使用以下代码从google驱动器的根文件夹中检索所有文件。
List<File> result = new ArrayList<File>();
Files.List req = null;
try {
req = driveService.files().list();
FileList files = req.setQ("'root' in parents and trashed=false").execute();
result.addAll(files.getFiles());
req.setPageToken(files.getNextPageToken());
}
catch (IOException e)
{
System.out.println("An error occurred: " + e);
req.setPageToken(null);
}
//Print out all the files and folder of root Directory
for(File f:result)
{
System.out.println("recvd data are: "+f.getName());
}
但问题是仍然没有检索到所有文件,而是始终只从驱动器返回14个文件。任何人都可以指导我在哪里出错。
谢谢,
答案 0 :(得分:0)
根文件夹也可以使用名为'root'的特殊别名进行寻址,因此您可以使用以下查询获取根目录中的所有文件和文件夹:
HTTP请求:
https://www.googleapis.com/drive/v2/files?q='root' *in parent
使用参数root
的别名folderId
列出根文件夹中的所有文件。所有对Google Drive API的请求必须由经过身份验证的用户授权。 Google云端硬盘使用OAuth 2.0协议对Google帐户进行身份验证并授权访问用户数据。您也可以使用OAuth 2.0。
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());
}