以下是我用来查找包含志愿者的文件列表的代码。
private static List<File> retrieveAllFiles(Drive service) throws IOException {
List<File> result = new ArrayList<File>();
Files.List request = service.files().list().setQ("Volunteers");
System.out.println("Request size:" + request.size());
do {
try {
FileList files = request.execute();
System.out.println("Request files size:" + files.size());
result.addAll(files.getItems());
request.setPageToken(files.getNextPageToken());
} catch (IOException e) {
System.out.println("An error occurred: " + e);
request.setPageToken(null);
}
} while (request.getPageToken() != null &&
request.getPageToken().length() > 0);
return result;
}
执行时返回
[s~sakshumweb-hrd/3.368839385999923807].<stdout>: An error occurred: com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 OK
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"location" : "q",
"locationType" : "parameter",
"message" : "Invalid Value",
"reason" : "invalid"
} ],
"message" : "Invalid Value"
}
它有什么问题。
答案 0 :(得分:3)
当您想要“查找包含志愿者的文件列表”时,我不确定您要搜索的内容,但是您应该指定要从哪个文件资源中搜索您的查询。
例如,如果您要在标题中搜索包含“志愿者”的文件,则您的代码应为service.files().list().setQ("title contains 'Volunteers'");
,或者如果您要搜索文件的标题和内容,以查看它们是否包含“志愿者” “,您的代码应该看起来像service.files().list().setQ("fullText contains 'Volunteers'");
请仔细查看search parameters documentation。它将使您更好地了解如何搜索文件。