Placer des fichiers et des dossiers dans la corbeille ou les supprimer

Vous pouvez supprimer des fichiers et des dossiers Google Drive de Mon Drive et de vos Drive partagés. Vous avez deux options: placer dans la corbeille ou supprimer.

Vous pouvez placer des fichiers et des dossiers dans la corbeille, puis les restaurer (dans les 30 jours suivant leur suppression). La suppression de fichiers et de dossiers entraîne leur suppression définitive dans Drive. Si vous placez dans la corbeille, restaurez ou supprimez définitivement plusieurs fichiers ou dossiers à la fois, les modifications ne seront peut-être pas visibles avant un certain temps.

Ce guide vous explique comment supprimer des fichiers dans Drive.

Poubelle

Pour supprimer des fichiers Drive, vous pouvez les placer dans la corbeille. Les fichiers de la corbeille sont automatiquement supprimés au bout de 30 jours. Vous pouvez restaurer des fichiers depuis la corbeille avant le délai de 30 jours.

Seul le propriétaire d'un fichier peut placer un fichier dans la corbeille, et les autres utilisateurs ne peuvent pas l'afficher. Si vous tentez de placer dans la corbeille un fichier dont vous n'êtes pas le propriétaire, une erreur insufficientFilePermissions s'affiche. Pour en savoir plus, consultez la section Autorisations.

Pour vérifier que vous êtes le propriétaire du fichier, appelez la méthode files.get avec fileId et le paramètre fields défini sur le champ booléen ownedByMe. Le champ ownedByMe n'est pas renseigné pour les fichiers des Drive partagés, car ils appartiennent à ce Drive, et non à des utilisateurs individuels. Pour en savoir plus sur le renvoi de champs à l'aide du paramètre fields, consultez la section Renvoyer des champs spécifiques pour un fichier.

Si vous n'êtes pas le propriétaire du fichier, mais que vous souhaitez tout de même obtenir une copie du fichier placé dans la corbeille, effectuez l'une des opérations suivantes:

  • Créez une copie du fichier.
  • Contactez son propriétaire pour lui demander de le restaurer à partir de la corbeille.

Placer un fichier dans la corbeille

Pour placer un fichier dans la corbeille, utilisez la méthode files.update et définissez le champ trashed sur True. Pour placer un fichier de Drive partagé dans la corbeille, vous devez également définir le paramètre de requête supportsAllDrives sur True. Pour en savoir plus, consultez Mettre en œuvre la prise en charge des Drive partagés.

Si la requête aboutit, le corps de la réponse contient une instance de la ressource files.

L'exemple de code suivant montre comment utiliser fileId pour marquer le fichier dans la corbeille:

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;

Remplacez FILE_ID par le nom (fileId) du fichier que vous souhaitez placer dans la corbeille.

Déterminer les propriétés d'un fichier placé dans la corbeille

Lorsqu'un fichier est placé dans la corbeille, vous pouvez récupérer des propriétés files supplémentaires. Vous pouvez utiliser la méthode files.get et inclure les champs suivants dans le paramètre fields. Pour en savoir plus, consultez la section Renvoyer des champs spécifiques pour un fichier.

Les champs suivants sont renseignés pour tous les fichiers:

  • trashed: indique si le fichier a été placé dans la corbeille, explicitement ou depuis un dossier parent placé dans la corbeille. Notez que lorsque vous utilisez trashed avec la méthode files.update, vous définissez l'état du fichier, tandis que la méthode files.get le récupère.
  • explicitlyTrashed: indique si le fichier a été explicitement placé dans la corbeille, par opposition à la corbeille récursive, à partir d'un dossier parent.

Les champs suivants ne sont renseignés que pour les fichiers d'un Drive partagé:

  • trashedTime: heure à laquelle l'élément a été placé dans la corbeille, au format date/heure RFC 3339. Si vous utilisez la version 2 de l'API Drive précédente, ce champ s'appelle trashedDate.
  • trashingUser: si le fichier a été explicitement placé dans la corbeille, l'utilisateur qui l'a mis dans la corbeille.

Récupérer un fichier placé dans la corbeille

Pour récupérer un fichier de la corbeille, utilisez la méthode files.update et définissez le champ trashed sur False. Pour récupérer le fichier d'un Drive partagé, vous devez également définir le paramètre de requête supportsAllDrives sur True. Pour en savoir plus, consultez Mettre en œuvre la prise en charge des Drive partagés.

Si la requête aboutit, le corps de la réponse contient une instance de la ressource files.

L'exemple de code suivant montre comment utiliser fileId pour marquer le fichier comme non placé dans la corbeille:

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;

Remplacez FILE_ID par le nom (fileId) du fichier que vous souhaitez retirer de la corbeille.

Vider la corbeille

Vous pouvez supprimer définitivement tous les fichiers Drive que l'utilisateur a déplacés dans la corbeille à l'aide de la méthode files.emptyTrash. Pour vider la corbeille d'un Drive partagé, vous devez également définir le paramètre de requête driveId sur l'ID du Drive partagé.

Si la requête aboutit, le corps de la réponse contient une instance vide.

L'exemple de code suivant montre comment utiliser fileId pour supprimer tous les fichiers de la corbeille:

Python

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

Node.js

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

Supprimer

Vous pouvez supprimer définitivement un fichier Drive sans le déplacer dans la corbeille. Une fois que vous avez supprimé un fichier, les personnes avec lesquelles vous l'avez partagé en perdent l'accès. Si vous souhaitez que d'autres utilisateurs conservent l'accès au fichier, vous pouvez en transférer la propriété à un autre utilisateur avant la suppression.

Pour supprimer un fichier de Drive partagé, l'utilisateur doit disposer de role=organizer sur le dossier parent. Si vous supprimez un dossier, tous les descendants appartenant à l'utilisateur sont également supprimés. Pour en savoir plus, consultez la section Autorisations.

Pour supprimer définitivement un fichier appartenant à un utilisateur sans le déplacer dans la corbeille, utilisez la méthode files.delete. Pour supprimer un fichier de Drive partagé, vous devez également définir le paramètre de requête supportsAllDrives sur True. Pour en savoir plus, consultez Intégrer la compatibilité avec les Drive partagés.

Si la requête aboutit, le corps de la réponse contient une instance vide.

L'exemple de code suivant montre comment supprimer le fichier à l'aide de 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;

Remplacez FILE_ID par le nom (fileId) du fichier que vous souhaitez supprimer.

Autorisations

Le tableau suivant indique les autorisations du rôle requises pour effectuer chaque opération. Pour obtenir la liste complète des rôles et des opérations autorisées par chacun, consultez la section Rôles et autorisations.

Opération autorisée owner organizer fileOrganizer writer commenter reader
Placer des fichiers et des dossiers dans la corbeille
Récupérer des fichiers et des dossiers depuis la corbeille
Vider la corbeille
Supprimer définitivement un fichier ou un dossier
Supprimer des fichiers et des dossiers dans un Drive partagé[*]

Capacités

Une ressource files contient une collection de champs booléens capabilities permettant d'indiquer si une action peut être effectuée sur un fichier.

Pour vérifier les capacités, appelez la méthode files.get avec fileId et le paramètre fields définis sur le champ capabilities. Pour en savoir plus sur le renvoi de champs à l'aide du paramètre fields, consultez la section Renvoyer des champs spécifiques pour un fichier.

Les champs suivants sont renseignés pour tous les fichiers:

  • capabilities.canTrash: indique si l'utilisateur actuel peut déplacer ce fichier dans la corbeille.
  • capabilities.canUntrash: indique si l'utilisateur actuel peut restaurer ce fichier à partir de la corbeille.
  • capabilities.canDelete: indique si l'utilisateur actuel peut supprimer ce fichier.
  • capabilities.canRemoveChildren: indique si l'utilisateur actuel peut supprimer des enfants de ce dossier. Cette valeur est "false" lorsque l'élément n'est pas un dossier.

Les champs suivants ne sont renseignés que pour les fichiers d'un Drive partagé:

  • capabilities.canTrashChildren: indique si l'utilisateur actuel peut placer les enfants de ce dossier dans la corbeille. Cette valeur est "false" lorsque l'élément n'est pas un dossier.
  • capabilities.canDeleteChildren: indique si l'utilisateur actuel peut supprimer les enfants de ce dossier. Cette valeur est "false" lorsque l'élément n'est pas un dossier.