您可以同時從「我的雲端硬碟」和共用雲端硬碟中移除 Google 雲端硬碟檔案和資料夾。您可以選擇刪除或刪除 「垃圾桶」或「刪除」
您可以將檔案和資料夾移至垃圾桶,然後還原這些項目 (在移至垃圾桶後的 30 天內)。刪除的檔案和資料夾將從雲端硬碟中永久移除。如果您將多個檔案或資料夾一次移至垃圾桶、還原或永久刪除,可能需要一段時間才能看到相關變更。
本指南將說明如何處置雲端硬碟中的檔案。
垃圾藝術
如要移除雲端硬碟檔案,請將檔案移至垃圾桶。垃圾桶中的檔案會在 30 天後自動刪除。在這 30 天內,您可以還原垃圾桶中的檔案。
只有檔案擁有者可以將檔案移至垃圾桶,其他使用者無法查看擁有者垃圾桶中的檔案。如果嘗試將他人擁有的檔案移至垃圾桶,系統會顯示 insufficientFilePermissions
錯誤。詳情請參閱權限一文。
如要驗證您是檔案擁有者,請使用 fileId
參數,並將 fields
參數設為布林值 ownedByMe
欄位,藉此呼叫 files.get
方法。系統不會為共用雲端硬碟中的檔案填入 ownedByMe
欄位,因為這些檔案的擁有者是共用雲端硬碟,而非個別使用者。如要進一步瞭解如何使用 fields
參數傳回欄位,請參閱「傳回檔案的特定欄位」。
如果您不是檔案擁有者,但仍想保留已移至垃圾桶的檔案副本,請執行下列任一操作:
- 建立檔案副本。
- 與擁有者聯絡,請擁有者從垃圾桶還原檔案。
將檔案移至垃圾桶
如要將檔案移至垃圾桶,請使用 files.update
方法,並將 trashed
欄位設為 True
。如要將共用雲端硬碟檔案移至垃圾桶,您也必須將 supportsAllDrives
查詢參數設為 True
。詳情請參閱「導入共用雲端硬碟支援功能」。
以下程式碼範例說明如何使用 fileId
將檔案標示為垃圾桶:
Python
body_value = {'trashed': True}
response = drive_service.files().update(fileId="FILE_ID", body=body_value).execute()
Node.js
const body_value = {
'trashed': True
};
const response = await drive_service.files.update({
fileId: 'FILE_ID',
requestBody: body_value,
});
return response;
將 FILE_ID 替換為要清除檔案的 fileId
。
判斷垃圾桶中的檔案屬性
檔案移至垃圾桶後,您可以擷取額外的 files
屬性。您可以使用 files.get
方法,並在 fields
參數中加入下列欄位。詳情請參閱「傳回檔案的特定欄位」。
系統會為所有檔案填入下列欄位:
trashed
:檔案是否已移至垃圾桶 (明確標示或從移至垃圾桶的上層資料夾移至垃圾桶)。請注意,搭配files.update
方法使用trashed
時,設定檔案狀態時,files.get
方法會擷取檔案的狀態。explicitlyTrashed
:檔案是否已從上層資料夾明確移至垃圾桶,而非遞迴垃圾桶。
系統只會針對共用雲端硬碟中的檔案填入下列欄位:
trashedTime
:項目移至垃圾桶的時間,採用 RFC 3339 日期時間格式。如果您使用的是舊版 Drive API v2,這個欄位稱為trashedDate
。trashingUser
:如果檔案已明確移至垃圾桶,使用者就是將檔案移至垃圾桶。
復原垃圾桶中的檔案
如要從垃圾桶復原檔案,請使用 files.update
方法,並將 trashed
欄位設為 False
。如要卸除共用雲端硬碟檔案,您也必須將 supportsAllDrives
查詢參數設為 True
。詳情請參閱「導入共用雲端硬碟支援功能」。
以下程式碼範例說明如何使用 fileId
將檔案標示為未垃圾桶:
Python
body_value = {'trashed': False}
response = drive_service.files().update(fileId="FILE_ID", body=body_value).execute()
Node.js
const body_value = {
'trashed': False
};
const response = await drive_service.files.update({
fileId: 'FILE_ID',
requestBody: body_value,
});
return response;
將 FILE_ID 替換為要移出的檔案的 fileId
。
清空垃圾桶
您可以使用 files.emptyTrash
方法,永久刪除使用者移至垃圾桶的所有雲端硬碟檔案。如要清空共用雲端硬碟的垃圾桶,您也必須將 driveId
查詢參數設為該共用雲端硬碟 ID。
如果成功,回應主體會包含空白執行個體。
以下程式碼範例說明如何使用 fileId
刪除垃圾桶中的所有檔案:
Python
response = drive_service.files().emptyTrash().execute()
Node.js
const response = await drive_service.files.emptyTrash({
});
return response;
刪除
您可以永久刪除雲端硬碟檔案,無需將檔案移至垃圾桶。刪除檔案後,任何與您共用該檔案的使用者都會失去檔案存取權。如要讓其他使用者保留檔案存取權,您可以在刪除前將擁有權轉移給其他人。
如要刪除共用雲端硬碟檔案,使用者必須在父項資料夾擁有 role=organizer
。如果您刪除資料夾,使用者擁有的所有子係也會遭到刪除。詳情請參閱權限一文。
如要在不移至垃圾桶的情況下永久刪除使用者擁有的檔案,請使用 files.delete
方法。如要刪除共用雲端硬碟檔案,您也必須將 supportsAllDrives
查詢參數設為 True
。詳情請參閱「導入共用雲端硬碟支援功能」。
如果成功,回應主體會包含空白執行個體。
以下程式碼範例說明如何使用 fileId
刪除檔案:
Python
response = drive_service.files().delete(fileId="FILE_ID").execute()
Node.js
const response = await drive_service.files.delete({
fileId: 'FILE_ID'
});
return response;
將 FILE_ID 替換為要刪除的檔案的 fileId
。
權限
下表顯示執行每項作業所需的角色權限。如需角色及其允許作業的完整清單,請參閱「角色與權限」。
允許的作業 | owner |
organizer |
fileOrganizer |
writer |
commenter |
reader |
---|---|---|---|---|---|---|
將檔案和資料夾移至垃圾桶 | ✔ | ✔ | ✔ | |||
從垃圾桶復原檔案和資料夾 | ✔ | ✔ | ✔ | |||
清空垃圾桶 | ✔ | ✔ | ||||
永久刪除檔案或資料夾 | ✔ | ✔ | ||||
刪除共用雲端硬碟中的檔案和資料夾 [*] | ✔ |
功能
files
資源包含一組布林值 capabilities
欄位,用來表示能否在檔案上執行某個動作。
如要檢查此功能,請使用 fileId
以及 fields
參數設為 capabilities
欄位的 fields
參數呼叫 files.get
方法。如要進一步瞭解如何使用 fields
參數傳回欄位,請參閱「傳回檔案的特定欄位」。
系統會為所有檔案填入下列欄位:
capabilities.canTrash
:目前使用者是否可將這個檔案移至垃圾桶。capabilities.canUntrash
:目前使用者是否可以從垃圾桶還原這個檔案。capabilities.canDelete
:目前的使用者能否刪除這個檔案。capabilities.canRemoveChildren
:目前的使用者能否從這個資料夾移除子項。如果該項目不是資料夾,則為「false」。
系統只會針對共用雲端硬碟中的檔案填入下列欄位:
capabilities.canTrashChildren
:目前的使用者是否可以將這個資料夾的子項移至垃圾桶。如果該項目不是資料夾,則為「false」。capabilities.canDeleteChildren
:目前的使用者能否刪除這個資料夾的子項。如果該項目不是資料夾,則為「false」。
檔案和資料夾限制
雲端硬碟檔案和資料夾,以及共用雲端硬碟資料夾有一些儲存空間限制。
一般來說,達到項目上限後,如要建立更多空間,唯一的方法就是永久刪除項目或使用其他帳戶。將檔案移至垃圾桶並不足以釋出空間。
如要進一步瞭解檔案和資料夾限制,請參閱以下資訊: