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

Google ドライブのファイルとフォルダは、マイドライブと共有ドライブの両方から削除できます。削除するには、ゴミ箱に移動する方法と完全に削除する方法の 2 つがあります。

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

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

fields パラメータを使用する

レスポンスで返すフィールドを指定する場合は、 fields システム パラメータfiles リソースの任意のメソッドで設定します。fields パラメータを省略すると、サーバーはメソッド固有のデフォルトのフィールド セットを返します。たとえば、 list メソッドは、各ファイルの kindidnamemimeType、および resourceKey フィールドのみを返します。別の フィールドを返す方法については、特定のフィールドを返すをご覧ください。

ゴミ箱

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

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

自分がファイルのオーナーであることを確認するには、get メソッドを files リソースで呼び出し、fileId パスパラメータと fields パラメータをブール値 ownedByMe フィールドに設定します。共有ドライブ内のファイルは個々のユーザーではなく共有ドライブが所有しているため、ownedByMe フィールドは入力されません。fields パラメータの詳細については、 fields パラメータを使用するをご覧ください。

自分がファイルのオーナーではないが、ゴミ箱に移動したファイルのコピーが必要な場合は、次のいずれかを行います。

  • ファイルのコピーを作成する。
  • オーナーに連絡して、ゴミ箱から復元してもらう。

ファイルをゴミ箱に移動する

ファイルをゴミ箱に移動するには、update メソッドをfilesリソースでfileId パスパラメータとともに使用し、ブール値 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 に置き換えます。

ゴミ箱に移動したファイルのプロパティを確認する

ファイルがゴミ箱に移動すると、追加のファイル プロパティを取得できます。 get メソッドを files リソースで fileId パスパラメータとともに使用し、fields パラメータで次のいずれかのゴミ箱フィールドを使用できます。fields パラメータの詳細については、fields パラメータを使用するをご覧ください。

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

  • trashed: ファイルが明示的にゴミ箱に移動されたか、ゴミ箱に移動した親フォルダからゴミ箱に移動されたか。update メソッドで trashed を使用すると、ファイルの状態が設定されますが、get メソッドではファイルの状態が取得されます。
  • explicitlyTrashed: ファイルが、親フォルダから再帰的にゴミ箱に移動されたのではなく、明示的にゴミ箱に移動されたかどうか。

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

  • trashedTime: アイテムがゴミ箱に移動された時刻(RFC 3339 日付と時刻の形式)。以前の Drive API v2 バージョンを使用している場合、このフィールドは 次のように 呼ばれます: trashedDate
  • trashingUser: ファイルが明示的にゴミ箱に移動された場合、ゴミ箱に移動したユーザー。

ゴミ箱からファイルを復元する

ゴミ箱からファイルを復元するには、 update メソッドを files リソースで使用し、fileId パスパラメータを使用して ブール値 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` メソッドを使用すると、ユーザーが `moved to the trash` に移動したすべてのドライブ ファイルを完全に削除できます。共有ドライブのゴミ箱を空にするには、 クエリ パラメータを共有ドライブ ID に設定する必要があります。driveId

成功した場合、レスポンス 本文には空の JSON オブジェクトが含まれます。

次のコードサンプルは、fileId を使用してゴミ箱内のすべてのファイルを完全に削除する方法を示しています。

Python

response = drive_service.files().emptyTrash().execute()

Node.js

 const response = await drive_service.files.emptyTrash({
    });
    return response;

削除

ドライブ ファイルは、ゴミ箱に移動せずに完全に削除できます。ファイルを削除すると、共有相手は誰もそのファイルにアクセスできなくなります。他のユーザーが引き続きファイルにアクセスできるようにするには、削除する前にオーナー権限 を他のユーザーに譲渡します。

共有ドライブのファイルを削除するには、親フォルダに対する role=organizer が必要です。フォルダを削除すると、ユーザーが所有するすべての子孫も削除されます。詳細については、権限をご覧ください。

ゴミ箱に移動せずにユーザーが所有するファイルを完全に削除するには、 delete メソッドを files リソースで使用します。共有ドライブのファイルを削除するには、ブール値 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 フィールドのコレクションが含まれています。

機能を確認するには、get メソッド を files リソースで fileId パスパラメータを使用して呼び出し、fields パラメータで次のいずれかの capabilities フィールドを使用します。fields parameter の詳細については、fields パラメータを使用するをご覧ください。

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

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

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

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

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

ドライブのファイルとフォルダ、共有ドライブのフォルダには、保存容量の制限があります。

通常、アイテム数の上限に達した後に空き容量を増やすには、 アイテムを完全に削除するか、 別のアカウントを使用するしかありません。ファイルをゴミ箱に移動しても、空き容量は増えません。

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