列出Google驱动器中的所有共享驱动器



我正在尝试使用list-drive 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());
}

我在查询中设置Q参数,其中foldername="0";salesDrive";

它给我的错误就像

引起原因: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参数以便只显示特定的共享驱动器详细信息?

您缺少两件事:

  1. 仅提供foldername是不够的,您应该指定name = 'foldername'(请记住,它应该是共享驱动器的名称,而不是该驱动器中包含的文件夹(
  2. 如文件中所述:

若要搜索特定的共享驱动器集,请将useDomainAdminAccess参数设置为真正的

错过上述任何步骤都将导致400错误,就像您收到的错误一样。

最新更新