【问题标题】:How can we list all files from a specific folder on Google Drive我们如何列出 Google Drive 上特定文件夹中的所有文件
【发布时间】:2013-06-14 15:36:10
【问题描述】:

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

谢谢

【问题讨论】:

    标签: google-drive-api


    【解决方案1】:

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

    【讨论】:

    • 谢谢。这正是我们想要的。
    • 这对我不起作用。如果没有 q,它会显示我的所有文件,但指定任何文件夹名称都会出现“找不到文件”错误。
    【解决方案2】:

    我为这个问题做了很多谷歌搜索,但答案就在这里。您必须像我使用的那样使用以下代码 sn-p:

    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());
      }
    }
    

    我相信它对你有用。

    【讨论】:

      【解决方案3】:

      使用 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;
      

      希望对您有所帮助。

      【讨论】:

        【解决方案4】:

        不用担心这个问题,很简单。如果您想从特定文件夹中获取所有文件和文件夹,则只需将此代码复制并粘贴到您的项目中,它将从特定文件夹中检索所有文件和文件夹。 注意:您应该有自己的文件夹 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());
          }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多