ファイルやフォルダをゴミ箱に移動する、削除する

Google ドライブのファイルやフォルダは、マイドライブと共有ドライブの両方から削除できます。削除するには、ゴミ箱に移動するか、削除します。

ファイルやフォルダをゴミ箱に移動してから復元できます(ゴミ箱に移動してから 30 日以内)。ファイルとフォルダを削除すると、それらはドライブから完全に削除されます。一度に複数のファイルやフォルダをゴミ箱に移動、復元、完全に削除すると、変更が反映されるまでに時間がかかることがあります。

このガイドでは、ドライブ内のファイルを削除する方法について説明します。

ゴミ箱

ドライブのファイルを削除するには、ゴミ箱に移動します。ゴミ箱内のファイルは 30 日後に自動的に削除されます。30 日以内であれば、ゴミ箱からファイルを復元できます。

ファイルをゴミ箱に移動できるのはファイルのオーナーのみです。他のユーザーは、オーナーのゴミ箱内のファイルを表示できません。所有していないファイルをゴミ箱に移動しようとすると、insufficientFilePermissions エラーが表示されます。詳細については、権限をご覧ください。

ファイルの所有者であることを確認するには、fileIdfields パラメータをブール値 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 フィールドのコレクションが含まれています。

機能を確認するには、fileIdfields パラメータを capabilities フィールドに設定して files.get メソッドを呼び出します。fields パラメータを使用してフィールドを返す方法については、ファイルの特定のフィールドを返すをご覧ください。

すべてのファイルに次のフィールドが入力されます。

  • capabilities.canTrash: 現在のユーザーがこのファイルをゴミ箱に移動できるかどうか。
  • capabilities.canUntrash: 現在のユーザーがゴミ箱からこのファイルを復元できるかどうか。
  • capabilities.canDelete: 現在のユーザーがこのファイルを削除できるかどうか。
  • capabilities.canRemoveChildren: 現在のユーザーがこのフォルダから子フォルダを削除できるかどうか。アイテムがフォルダでない場合は false です。

次のフィールドは、共有ドライブ内のファイルにのみ入力されます。

  • capabilities.canTrashChildren: 現在のユーザーがこのフォルダの子フォルダをゴミ箱に移動できるかどうか。アイテムがフォルダでない場合は false です。
  • capabilities.canDeleteChildren: 現在のユーザーがこのフォルダの子フォルダを削除できるかどうか。アイテムがフォルダでない場合は false です。

ファイルとフォルダの制限

ドライブのファイルとフォルダ、共有ドライブのフォルダにはストレージの上限があります。

通常、アイテムの上限に達した後、スペースを増やす唯一の方法は、アイテムを完全に削除するか、別のアカウントを使用することです。ファイルをゴミ箱に移動しても、空き容量は増やされません。

ファイルとフォルダの上限の詳細については、以下をご覧ください。