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 des Drive partagés. Pour ce faire, vous avez deux options : les placer dans la corbeille ou les supprimer.

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

Ce guide explique comment vous pouvez vous débarrasser des fichiers dans Drive.

Utiliser le paramètre fields

Si vous souhaitez spécifier les champs à renvoyer dans la réponse, vous pouvez définir le fields paramètre système avec n'importe quelle méthode de la res3/} source.files Si vous omettez le paramètre fields, le serveur renvoie un ensemble de champs par défaut spécifique à la méthode. Par exemple, la list méthode ne renvoie que les kind, id, name, mimeType, et resourceKey champs pour chaque fichier. Pour renvoyer d'autres champs, consultez la section Renvoyer des champs spécifiques.

Corbeille

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 les restaurer à partir de la corbeille avant l'expiration du délai de 30 jours.

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

Pour vérifier que vous êtes le propriétaire du fichier, appelez la get méthode sur la ressource files avec le paramètre de chemin 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 au Drive partagé et non à des utilisateurs individuels. Pour en savoir plus sur le paramètre fields, consultez la section Utiliser le paramètre fields.

Si vous n'êtes pas le propriétaire du fichier, mais que vous souhaitez tout de même en obtenir une copie, procédez de l'une des manières suivantes :

  • Créez une copie du fichier.
  • Contactez le 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 update méthode sur la ressource files avec le paramètre de chemin fileId et définissez le champ booléen trashed sur true. Pour placer dans la corbeille un fichier d'un Drive partagé, vous devez également définir le paramètre de requête booléen supportsAllDrives sur true. Pour en savoir plus, consultez la section Implémenter la compatibilité avec les Drive partagés support.

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 le fileId pour marquer le fichier comme placé 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 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 de fichier supplémentaires. Vous pouvez utiliser la méthode get sur la ressource files avec le paramètre de chemin fileId et utiliser l'un des champs placés dans la corbeille suivants dans le paramètre fields. Pour en savoir plus sur le fields paramètre, consultez la section Utiliser le paramètre fields.

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

  • trashed: indique si le fichier a été placé dans la corbeille, explicitement ou à partir d'un dossier parent placé dans la corbeille. Notez que si l'utilisation de trashed avec la méthode update définit l'état du fichier, la méthode get récupère l'état du fichier.
  • explicitlyTrashed: indique si le fichier a été placé explicitement dans la corbeille, par opposition à un placement récursif dans la corbeille à partir d'un dossier parent.

Les champs suivants ne sont renseignés que pour les fichiers situés dans 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 précédente de l'API Drive v2, ce champ est appelé trashedDate.
  • trashingUser: si le fichier a été placé explicitement dans la corbeille, l'utilisateur qui l'a fait.

Récupérer un fichier de la corbeille

Pour récupérer un fichier de la corbeille, utilisez la update méthode sur la ressource files avec le paramètre de chemin fileId et définissez le champ booléen trashed sur false. Pour retirer un fichier d'un Drive partagé de la corbeille, vous devez également définir le paramètre supportsAllDrives de requête sur true. Pour en savoir plus, consultez la section Implémenter la compatibilité avec les Drive partagés support.

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 le fileId pour marquer le fichier comme retiré de 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 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 placés dans la corbeille à l'aide de la emptyTrash méthode sur la ressource files. Pour vider la corbeille d'un Drive partagé, vous devez également définir le driveId paramètre de requête sur l'ID du Drive partagé.

Si la requête aboutit, le corps de la réponse est un objet JSON vide.

L'exemple de code suivant montre comment utiliser le fileId pour supprimer définitivement 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 placer dans la corbeille. Lorsque vous supprimez un fichier, les personnes avec lesquelles vous l'avez partagé n'y ont plus accès. Si vous souhaitez que d'autres personnes conservent l'accès au fichier, vous pouvez transférer la propriété à quelqu'un d'autre avant de le supprimer.

Pour supprimer un fichier d'un Drive partagé, l'utilisateur doit disposer du 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 placer dans la corbeille, utilisez la delete méthode sur la files ressource. Pour supprimer un fichier d'un Drive partagé, vous devez également définir le paramètre de requête booléen supportsAllDrives sur true. Pour en savoir plus, consultez la section Implémenter la compatibilité avec les Drive partagés support.

Si la requête aboutit, le corps de la réponse est un objet JSON vide.

L'exemple de code suivant montre comment utiliser le fileId pour supprimer le fichier :

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 fileId du fichier que vous souhaitez supprimer.

Autorisations

Le tableau suivant présente les autorisations de rôle requises pour placer dans la corbeille ou supprimer des fichiers et des dossiers. Pour obtenir la liste complète des rôles et des opérations autorisées par chacun d'eux, 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 de la corbeille
Vider la corbeille
Supprimer un fichier ou un dossier
Supprimer des fichiers et des dossiers dans un Drive partagé [*]
Supprimer un Drive partagé vide

Capacités

Une files ressource contient une collection de champs booléens capabilities qui indiquent les capacités dont dispose l'utilisateur sur ce fichier.

Pour vérifier les capacités, appelez la get méthode sur la ressource files avec le paramètre de chemin fileId et utilisez l'un des champs capabilities suivants dans le paramètre fields. Pour en savoir plus sur le fields paramètre, consultez la section Utiliser le paramètre fields.

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

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

  • capabilities.canTrashChildren: indique si l'utilisateur actuel peut placer les enfants de ce dossier dans la corbeille. La 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. La valeur est false lorsque l'élément n'est pas un dossier.

Limites applicables aux fichiers et aux dossiers

Les fichiers et dossiers Drive, ainsi que les dossiers des Drive partagés, sont soumis à certaines limites de stockage.

En règle générale, une fois la limite d'éléments atteinte, la seule façon de créer plus d'espace consiste à supprimer définitivement des éléments ou à utiliser un autre compte. Le déplacement de fichiers vers la corbeille ne suffit pas à libérer de l'espace.

Pour en savoir plus sur les limites applicables aux fichiers et aux dossiers, consultez les sections suivantes :