資料夾只包含中繼資料,可用於整理 Google 雲端硬碟中的檔案。這些屬性包括:
- 資料夾是 MIME 類型為
application/vnd.google-apps.folder的檔案,且沒有副檔名。 - 在提供檔案 ID 的任何位置,都可以使用別名
root參照根資料夾。
如要進一步瞭解雲端硬碟資料夾限制,請參閱「檔案和資料夾限制」。
本指南說明如何執行一些與資料夾相關的基本工作。
建立資料夾
如要建立資料夾,請使用 files.create() 方法,並提供 application/vnd.google-apps.folder 的 mimeType 和 name。下列程式碼範例說明如何使用用戶端程式庫建立資料夾:
Java
Python
Node.js
PHP
.NET
curl
curl -X POST 'https://www.googleapis.com/drive/v3/files' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"name": "FOLDER_NAME",
"mimeType": "application/vnd.google-apps.folder"
}'
更改下列內容:
- ACCESS_TOKEN:應用程式的 OAuth 2.0 權杖。
- FOLDER_NAME:要建立的資料夾名稱。
在特定資料夾中建立檔案
如要在特定資料夾中建立檔案,請使用 files.create() 方法,並在檔案的 parents 屬性中指定資料夾 ID。
parents 屬性會保留含有檔案的父項資料夾 ID。
在頂層資料夾或其他資料夾中建立檔案時,可以使用 parents 屬性。
檔案只能有一個上層資料夾。系統不支援指定多個父項。如果未指定 parents 欄位,檔案會直接放在使用者的「我的雲端硬碟」資料夾中。
以下程式碼範例說明如何使用用戶端程式庫,在特定資料夾中建立檔案:
Java
Python
Node.js
PHP
.NET
curl
curl -X POST 'https://www.googleapis.com/drive/v3/files' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"name": "photo.jpg",
"parents": [
"FOLDER_ID"
]
}'
更改下列內容:
- ACCESS_TOKEN:應用程式的 OAuth 2.0 權杖。
- FOLDER_ID:要在其中建立檔案的資料夾 ID。
在資料夾之間移動檔案
如要移動檔案,請更新 parents 屬性的 ID。
如要為現有檔案新增或移除父項,請使用 files.update() 方法,並搭配 addParents 和 removeParents 查詢參數。
檔案只能有一個上層資料夾。系統不支援指定多個父項。
下列程式碼範例說明如何使用用戶端程式庫,在資料夾之間移動檔案:
Java
Python
Node.js
PHP
.NET
curl
curl -X PATCH 'https://www.googleapis.com/drive/v3/files/FILE_ID?addParents=NEW_PARENT_ID&removeParents=PREVIOUS_PARENT_ID' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Accept: application/json'
更改下列內容:
- FILE_ID:要移動的檔案 ID。
- NEW_PARENT_ID:要將檔案移至的資料夾 ID。
- PREVIOUS_PARENT_ID:以半形逗號分隔的父項資料夾清單,要從這些資料夾移除檔案。
- ACCESS_TOKEN:應用程式的 OAuth 2.0 權杖。
檔案和資料夾限制
雲端硬碟檔案和資料夾的儲存空間設有上限。
使用者項目限制
每個使用者最多可以有 5 億個由該帳戶建立的項目。 達到上限後,使用者就無法在雲端硬碟中建立或上傳項目,但依然可以查看及編輯現有項目。如要再次建立檔案,使用者必須永久刪除項目或改用其他帳戶。詳情請參閱「將檔案和資料夾移至垃圾桶或刪除」。
計入此項限制的物件如下:
- 使用者在雲端硬碟中建立或上傳的項目
- 使用者建立,但現在由他人擁有的項目
- 垃圾桶中的項目
- 捷徑
- 第三方快速鍵
不會計入這項限制的物件包括:
- 永久刪除的項目
- 他人建立但與使用者共用的項目
- 他人建立但由使用者擁有的項目
如果嘗試新增超過 5 億個項目,系統會傳回 activeItemCreationLimitExceeded
HTTP 狀態碼回應。
請注意,服務帳戶無法擁有任何檔案。而是必須將檔案和資料夾上傳至共用雲端硬碟,或使用 OAuth 2.0 代表使用者上傳項目。
資料夾項目限制
使用者「我的雲端硬碟」中的每個資料夾最多只能包含 500,000 個項目。 這項限制不適用於「我的雲端硬碟」根資料夾。計入此項限制的項目如下:
- 資料夾
- 檔案。所有檔案類型,無論檔案擁有權為何。
- 快速鍵。捷徑計為資料夾的單個項目,即使指向的項目不在該資料夾中也是如此。詳情請參閱「建立雲端硬碟檔案的捷徑」。
- 第三方快速鍵。捷徑計為資料夾的單個項目,即使指向的項目不在該資料夾中也是如此。詳情請參閱「建立應用程式儲存內容的捷徑檔案」。
如要進一步瞭解資料夾限制,請參閱「Google 雲端硬碟中的資料夾限制」。
資料夾深度限制
使用者的「我的雲端硬碟」最多只能包含 100 層巢狀資料夾。也就是說,子資料夾不能儲存在超過 99 層的資料夾中。這項限制僅適用於子資料夾。如果子檔案的 MIME 類型不是 application/vnd.google-apps.folder,則不受這項限制。
如下圖所示,您可以將新的資料夾置於資料夾巢狀結構中,可放到第 99 層資料夾,但無法放到第 100 層資料夾中。不過,第 100 層資料夾可以儲存檔案,就像儲存其他雲端硬碟資料夾一樣:
如果嘗試新增超過 100 層的資料夾,系統會傳回 myDriveHierarchyDepthLimitExceeded HTTP 狀態碼回應。