Google ドライブのファイルやフォルダは、マイドライブと共有ドライブの両方から削除できます。これには、削除とゴミ箱の 2 つの方法があります。
ファイルやフォルダをゴミ箱に移動してから復元できます(ゴミ箱に移動してから 30 日以内)。ファイルやフォルダを削除すると、ドライブから完全に削除されます。一度に複数のファイルやフォルダをゴミ箱に移動、復元、完全削除すると、変更が反映されるまでに時間がかかることがあります。
このガイドでは、ドライブでファイルを破棄する方法について説明します。
fields パラメータを使用する
レスポンスで返すフィールドを指定する場合は、files
リソースの任意のメソッドを使用して fields
システム パラメータを設定できます。fields
パラメータを省略すると、サーバーはメソッドに固有のデフォルトのフィールド セットを返します。たとえば、list
メソッドは、各ファイルの kind
、id
、name
、mimeType
、resourceKey
フィールドのみを返します。別のフィールドを返すには、特定のフィールドを返すをご覧ください。
ゴミ箱
ドライブのファイルを削除するには、ファイルをゴミ箱に移動します。ゴミ箱内のファイルは 30 日後に自動的に削除されます。30 日以内であれば、ゴミ箱からファイルを復元できます。
ファイルをゴミ箱に移動できるのはファイルのオーナーのみです。他のユーザーは、オーナーのゴミ箱にあるファイルを表示できません。所有していないファイルをゴミ箱に移動しようとすると、insufficientFilePermissions
エラーが表示されます。詳細については、権限をご覧ください。
ファイル所有者であることを確認するには、fileId
パス パラメータと fields
パラメータをブール値の ownedByMe
フィールドに設定して、files
リソースの get
メソッドを呼び出します。共有ドライブ内のファイルは、個々のユーザーではなく共有ドライブが所有しているため、ownedByMe
フィールドには値が入力されません。fields
パラメータの詳細については、fields パラメータを使用するをご覧ください。
自分がファイルのオーナーでない場合でも、削除したファイルのコピーが必要な場合は、次のいずれかの操作を行います。
- ファイルのコピーを作成します。
- オーナーに連絡して、ゴミ箱から復元してもらいます。
ファイルをゴミ箱に移動する
ファイルをゴミ箱に移動するには、fileId
パスパラメータを使用して files
リソースで update
メソッドを使用し、ブール値の trashed
フィールドを true
に設定します。共有ドライブのファイルをゴミ箱に移動するには、ブール値の supportsAllDrives
クエリ パラメータを true
に設定する必要があります。詳細については、共有ドライブのサポートを実装するをご覧ください。
成功した場合、レスポンスの本文には files
リソースのインスタンスが含まれます。
次のコードサンプルは、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
リソースで fileId
パスパラメータを使用して get
メソッドを使用し、fields
パラメータで次のいずれかの削除済みフィールドを使用できます。fields
パラメータの詳細については、fields パラメータを使用するをご覧ください。
すべてのファイルについて、次のフィールドが入力されます。
trashed
: ファイルが明示的にゴミ箱に移動されたか、ゴミ箱に移動された親フォルダから移動されたか。update
メソッドでtrashed
を使用すると、ファイル ステータスが設定されますが、get
メソッドはファイル ステータスを取得します。explicitlyTrashed
: ファイルが親フォルダから再帰的にごみ箱に移動されたのではなく、明示的にごみ箱に移動されたかどうか。
次のフィールドは、共有ドライブ内のファイルに対してのみ入力されます。
trashedTime
: アイテムがゴミ箱に移動された時間(RFC 3339 日付と時刻の形式)。以前の Drive API v2 バージョンを使用している場合、このフィールドはtrashedDate
と呼ばれます。trashingUser
: ファイルが明示的にゴミ箱に移動された場合、そのファイルをゴミ箱に移動したユーザー。
ゴミ箱からファイルを復元する
ゴミ箱からファイルを復元するには、files
リソースで fileId
パスパラメータを使用して update
メソッドを使用し、ブール値 trashed
フィールドを false
に設定します。共有ドライブのファイルの削除を取り消すには、ブール値の supportsAllDrives
クエリ パラメータを true
に設定する必要があります。詳細については、共有ドライブのサポートを実装するをご覧ください。
成功した場合、レスポンスの本文には files
リソースのインスタンスが含まれます。
次のコードサンプルは、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 に設定する必要があります。
成功した場合、レスポンスの本文には空の JSON オブジェクトが含まれます。
次のコードサンプルは、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
に設定する必要があります。詳細については、共有ドライブのサポートを実装するをご覧ください。
成功した場合、レスポンスの本文には空の JSON オブジェクトが含まれます。
次のコードサンプルは、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
パス パラメータを指定して files
リソースで get
メソッドを呼び出し、fields
パラメータで次の capabilities
フィールドのいずれかを使用します。fields
パラメータの詳細については、fields パラメータを使用するをご覧ください。
すべてのファイルについて、次のフィールドが入力されます。
capabilities.canTrash
: 現在のユーザーがこのファイルをゴミ箱に移動できるかどうか。capabilities.canUntrash
: 現在のユーザーがこのファイルをゴミ箱から復元できるかどうか。capabilities.canDelete
: 現在のユーザーがこのファイルを削除できるかどうか。capabilities.canRemoveChildren
: 現在のユーザーがこのフォルダから子を削除できるかどうか。アイテムがフォルダでない場合はfalse
になります。
次のフィールドは、共有ドライブ内のファイルに対してのみ入力されます。
capabilities.canTrashChildren
: 現在のユーザーがこのフォルダの子をゴミ箱に移動できるかどうか。アイテムがフォルダでない場合はfalse
になります。capabilities.canDeleteChildren
: 現在のユーザーがこのフォルダの子を削除できるかどうか。アイテムがフォルダでない場合はfalse
になります。
ファイルとフォルダの制限
ドライブのファイルとフォルダ、共有ドライブのフォルダには、ストレージの制限があります。
通常、アイテムの上限に達した後に空き容量を増やすには、アイテムを完全に削除するか、別のアカウントを使用するしかありません。ファイルをゴミ箱に移動するだけでは、空き容量を増やすことはできません。
ファイルとフォルダの制限の詳細については、以下をご覧ください。