获取Drive上现有目录的ID

时间:2014-12-05 21:01:07

标签: java google-drive-api

我正在尝试在Google云端硬盘上获取现有目录的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());
  }

现在这段代码正在提供输出 -

folderId::0APcEBFk-CF2pUk9PVA

这可能不是正确的ID,因为我在谷歌硬盘中有2个目录和3个文件。 我必须遗漏一些东西,以正确的方式获得现有目录的身份。

我已经看到了this的问题,如果我能得到一个等效的java示例,那将会有所帮助。我使用的是同一个帐户的谷歌硬盘,它拥有该应用程序。

2 个答案:

答案 0 :(得分:0)

将您的代码与您execute()上没有调用list的{​​{3}}进行比较,我认为您正在迭代请求参数。

它也说:

  

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

因此您可以跳过About

答案 1 :(得分:0)

创建文件列表并迭代。

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; 

应该这样做。