我正在尝试使用列出驱动器java方法列出googledrive中的所有共享驱动器。 这是我的代码。
public static void getDriveId(String folderName, String oauthToken) throws Exception {
DriveList list ;
String pageToken = null;
GoogleCredential credential = new GoogleCredential();
credential.setAccessToken(oauthToken);
try {
_driveService = new Drive.Builder(GoogleNetHttpTransport.newTrustedTransport(), JacksonFactory.getDefaultInstance(), credential).setApplicationName(appName).build();
} catch (GeneralSecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
list = _driveService.drives().list().setQ(folderName).setFields("nextPageToken, drives(id, name)")
.execute();
System.out.println(list.toString());
}
我在文件夹名=“ salesDrive”的查询中设置Q参数
它给我类似的错误
原因:com.google.api.client.googleapis.json.GoogleJsonResponseException:400错误的请求 {
"code" : 400,
"errors" : [ {
"domain" : "global",
"location" : "q",
"locationType" : "parameter",
"message" : "Invalid Value",
"reason" : "invalid"
} ],
"message" : "Invalid Value"
}
如何设置此q参数以仅显示特定的共享驱动器详细信息?
答案 0 :(得分:0)
您缺少两件事:
foldername
是不够的,您应该指定name = 'foldername'
(请记住,它应该是共享驱动器的名称,而不是此驱动器中包含的文件夹)要搜索一组特定的共享驱动器,请将useDomainAdminAccess参数设置为true
如果遗漏了上述任何一个步骤,则会导致出现400错误,就像您收到的一样。