我们如何列出Google云端硬盘上特定文件夹中的所有文件

时间:2013-06-14 15:36:11

标签: google-drive-api

我们注意到Google Drive API Javascript 允许您列出特定文件夹中的所有文件,但它只会从文件中提供基本详细信息。如果我们想要了解更多文件名,我们需要再次为每个文件查询API。有没有办法可以列出文件的更多细节,例如单个文件夹列表查询中的文件名?

由于

4 个答案:

答案 0 :(得分:4)

我猜您使用了Children.list()。它只列出了孩子的id,这不是你想要的功能。您应该在父母中使用Files.list()参数q =“'{{FOLDER_ID}}',它会列出您想要的特定文件夹子项的所有文件及其详细信息。

答案 1 :(得分:2)

我做了很多谷歌搜索这个问题,但答案就在这里。您必须使用以下代码片段:

Files.List request = mService.files().list().setQ("'Your Folder ID Here' in parents");
FileList files = request.execute();
if (files != null) {
  for (File file : files.getItems()) {
    // Meta data
    Log.i("", "Title: " + file.getTitle());
    Log.i("", "Description: " + file.getDescription());
    Log.i("", "MIME type: " + file.getMimeType());
  }
}

我相信它会对你有用。

答案 2 :(得分:0)

使用googleApis V3,您可以做到。 这是示例代码:

string FolderId = "1lh-YnjfDFMuPVisoM-5p8rPeKkihtw9";
        // Define parameters of request.
        FilesResource.ListRequest listRequest = DriveService.Files.List();
        listRequest.PageSize = 10;
        listRequest.Q = "'" + FolderId + "' in parents and trashed=false";
        listRequest.Fields = "nextPageToken, files(*)";

        // List files.
        IList<Google.Apis.Drive.v3.Data.File> files = listRequest.Execute()
            .Files;

希望获得帮助。

答案 3 :(得分:-1)

不要担心这个问题,这很容易。如果要从特定的FOLDER获取所有文件和文件夹,只需将此代码复制并粘贴到项目中,它将从特定文件夹中检索所有文件和文件夹。 注意:您应该拥有自己的文件夹ID

 List<File> result = new ArrayList<File>();
    Files.List request = null;

    try {
          request = mService.files().list();//plz replace your FOLDER ID in below linez
          FileList files = request.setQ("'"+MyFoler_Id+"'in parents and trashed=false").execute();
          result.addAll(files.getItems());          
          request.setPageToken(files.getNextPageToken());
        } 
      catch (IOException e)
      {
        System.out.println("An error occurred: " + e);
        request.setPageToken(null);
      }
  

//打印出我们检索到的文件和文件夹标题。

  for(File f:result)
  {
      System.out.println("My recvd data "+f.getTitle());
  }