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