Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正在获取驱动器上现有目录的id_Java_Google Drive Api - Fatal编程技术网

Java 正在获取驱动器上现有目录的id

Java 正在获取驱动器上现有目录的id,java,google-drive-api,Java,Google Drive Api,我正在尝试获取谷歌硬盘上现有目录的id com.google.api.services.drive.model.About about = drive.about().get().execute(); com.google.api.services.drive.Drive.Children.List list = drive.children().list(about.getRootFolderId()); Iterator<Entry<String, Objec

我正在尝试获取谷歌硬盘上现有目录的id

com.google.api.services.drive.model.About about = drive.about().get().execute();
  com.google.api.services.drive.Drive.Children.List list =
      drive.children().list(about.getRootFolderId());
  Iterator<Entry<String, Object>> itr = list.entrySet().iterator();
  Entry<String, Object> s;
  while (itr.hasNext()) {
    s = itr.next();
    System.out.println(s.getKey() + "::" + s.getValue());
  }
这可能不是正确的id,因为我的google驱动器中有2个目录和3个文件。 我一定错过了什么,什么是获取现有目录id的正确方法


我已经看到了这个问题,若我能得到一个等价的java示例,那个将非常有帮助。我使用的是同一个帐户的google drive,它拥有该应用程序。

将您的代码与您未调用的执行列表进行比较,我认为您正在迭代请求参数

它还说:

folderId要列出根文件夹中的所有文件,请使用别名root作为folderId的值


因此,您可以跳过获取关于的信息。

创建文件列表并进行迭代

Drive service = new Drive.Builder(httpTransport, jsonFactory, credential1).build();
String query = "'" + about.getRootFolderId() +"' " + "in parents";
List<File> files = service.files().list().setQ(query).execute().getItems();
return files; 

这应该可以。

您确定正在使用最新的客户端库吗?这与谷歌如何列出文件的例子完全不同@DaImTo因为他使用的是children API:看起来文件是用来搜索内容的,而不是导航目录。是的,这很有效。但它似乎只能列出以编程方式创建的文件夹。是否可以列出通过驱动器UI创建的文件夹?
Drive service = new Drive.Builder(httpTransport, jsonFactory, credential1).build();
String query = "'" + about.getRootFolderId() +"' " + "in parents";
List<File> files = service.files().list().setQ(query).execute().getItems();
return files;