簡體   English   中英

如何使用 Google Drive API 獲取特定文件夾中所有文件的列表

[英]How to use Google Drive API to get list of all files in specific folder

我正在研究一種更快的方法來從 Google Drive 獲取數據以進行數據輸入。 我有一堆帶有圖像的文件夾,我需要獲取每個圖像的 URL,以及以像素為單位的寬度和高度(每個圖像的屬性的一部分)。

我以前從未使用過 Google Drive API,所以我查閱了文檔。 它有一個 JS 演示應用程序,它列出了驅動器基本目錄中的所有文件。 但是,我不知道將其更改為請求某個文件夾中的文件。

這個想法是用戶粘貼一個Google Drive文件夾的ID,然后JavaScript程序返回鏈接、寬度和高度。 然后用戶可以簡單地將其粘貼到數據輸入表單中。

這是列出文件的函數:

function listFiles() {
        gapi.client.drive.files.list({
          'pageSize': 10,
          'fields': "nextPageToken, files(id, name)",
        }).then(function(response) {
          appendPre('Files:');
          var files = response.result.files;
          if (files && files.length > 0) {
            for (var i = 0; i < files.length; i++) {
              var file = files[i];
              appendPre(file.name + ' (' + file.id + ')');
            }
          } else {
            appendPre('No files found.');
          }
        });
      }

我已經看到如何使用 URL GET 請求來做到這一點,但不知道如何將其轉換為如上所示的gapi.client.drive請求。

這里的任何幫助都會很好。

  • 為了列出某個文件夾中的文件,您必須提供參數q並指定文件夾 ID。 它應該是這樣的:
'q': "'your-folder-id' in parents"

當然,您可以將'your-folder'id'存儲在一個變量中,或者將其作為參數傳遞到您的函數中。

  • 您還可以專門查找具有某些 MIME 類型的文件。 例如,如果您想查找 MIME 類型為image/jpeg ,參數q應該是這樣的:
'q': "'your-folder-id' in parents and mimeType = 'image/jpeg'"
  • 最后,如果要檢索圖像的widthheight ,則應指定要獲取字段imageMediaMetadata ,如下所示:
'fields': "nextPageToken, files(id, name, imageMediaMetadata)"
  • 所以總結一下,你的 API 調用應該是以下幾行:
gapi.client.drive.files.list({
  'pageSize': 10,
  'fields': "nextPageToken, files(id, name, imageMediaMetadata)",
  'q': "'your-folder-id' in parents"
})

參考:

我希望這有任何幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM