建立及管理檔案

本指南說明如何使用 Google Drive API 在 Google 雲端硬碟中建立及管理檔案。

建立檔案

如要在雲端硬碟中建立不含中繼資料或內容的檔案,請使用 files 資源的 create 方法,且不含任何參數。

建立檔案時,這個方法會傳回 files 資源。系統會為檔案提供 kinddrive.fileidname (「無標題」) 和 mimeType (application/octet-stream)。uploadType 標示為必要,但預設為 media,因此您不必實際提供。

如要進一步瞭解雲端硬碟檔案限制,請參閱「檔案和資料夾限制」。

使用 fields 參數

如要指定要在回應中傳回的欄位,可以使用 files 資源的任何方法,設定 fields system 參數。如果省略 fields 參數,伺服器會傳回方法專屬的預設欄位集。舉例來說,list 方法只會傳回每個檔案的 kindidnamemimeTyperesourceKey 欄位。如要傳回不同欄位,請參閱「傳回特定欄位」。

產生 ID 以搭配檔案使用

files 資源的 generateIds 方法可讓您預先產生專屬的檔案 ID,以便在 Google 雲端硬碟中建立或複製檔案和資料夾。如果您需要從應用程式控管檔案 ID,而非讓雲端硬碟自動指派,這項做法就非常實用。

您可以使用 count 查詢參數設定產生的 ID 數量。如未設定 count,系統預設會傳回 10 個結果。您最多可以要求 1,000 個 ID。

您也可以指定可使用 ID 的space,以及可使用 ID 的項目type

產生 ID 後,即可透過 id 欄位傳遞至 createcopy 方法。確保建立或複製的檔案使用預先決定的 ID。

如果檔案建立或複製成功,後續重試會傳回 409 Conflict HTTP 狀態碼回應,且不會建立重複檔案。

請注意,系統不支援預先產生的 ID 來建立 Google Workspace 檔案,但 application/vnd.google-apps.drive-sdkapplication/vnd.google-apps.folder MIME 類型除外。同樣地,系統也不支援上傳參照轉換為 Google Workspace 檔案格式的檔案。

建立僅含中繼資料的檔案

中繼資料檔案不含任何內容。中繼資料是描述檔案的資料 (例如 namemimeTypecreatedTime)。name 等欄位與使用者無關,每位使用者看到的內容都相同,但 viewedByMeTime 等欄位則包含使用者專屬的值。

舉例來說,MIME 類型為 application/vnd.google-apps.folder 的資料夾就是只有中繼資料的檔案。詳情請參閱「建立及填入資料夾」。另一個例子是捷徑,指向 Google 雲端硬碟上 MIME 類型為 application/vnd.google-apps.shortcut 的另一個檔案。詳情請參閱「建立雲端硬碟檔案的捷徑」。

管理縮圖

縮圖可協助使用者識別雲端硬碟檔案。雲端硬碟可以自動為常見檔案類型產生縮圖,您也可以提供應用程式產生的縮圖圖片。詳情請參閱「上傳縮圖」。

複製現有檔案

如要複製檔案並套用所有要求的更新,請使用 files 資源的 copy 方法。如要尋找要複製的 fileId,請使用 list 方法。

您可以透過修補程式語意套用更新,也就是對資源進行部分修改。您必須在要求中明確設定要修改的欄位。要求中未包含的欄位會保留現有值。詳情請參閱「處理部分資源」。

您可以使用 generateIds 方法預先設定複製檔案的檔案 ID。詳情請參閱「產生要用於檔案的 ID」。

請注意,您必須使用適當的 Drive API 範圍授權呼叫。如要進一步瞭解雲端硬碟範圍,請參閱「選擇 Google Drive API 範圍」。

限制和注意事項

準備複製檔案時,請注意以下限制和考量事項:

  • 權限

  • 檔案管理

    • 部分檔案 (例如第三方捷徑) 無法複製。
    • 您只能將檔案複製到一個上層資料夾。不支援指定多個父項。如果未指定 parents 欄位,檔案會從來源檔案繼承任何可探索的父項。
    • 雖然資料夾也是一種檔案,但你無法複製資料夾。 請改為建立目的地資料夾,並將現有檔案的 parents 欄位設為目的地資料夾。接著,您就可以刪除原始來源資料夾。
    • 除非指定新檔案名稱,否則 copy 方法會產生與原始檔案同名的檔案。
    • 過度使用 copy 可能會導致超出雲端硬碟 API 配額限制。詳情請參閱「用量限制」。

建議您採取下列後續步驟: