如何解决列出来自Google驱动器的所有共享驱动器
我正在尝试使用列出驱动器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());
}
它给我类似的错误
原因: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参数以仅显示特定的共享驱动器详细信息?
解决方法
您缺少两件事:
- 仅提供
foldername
是不够的,您应该指定name = 'foldername'
(请记住,它应该是共享驱动器的名称,而不是此驱动器中包含的文件夹) - 如documentation中所述:
要搜索一组特定的共享驱动器,请将useDomainAdminAccess参数设置为true
如果遗漏了上述任何一个步骤,则会导致出现400错误,就像您收到的一样。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。