Cómo borrar archivos y carpetas a la papelera o borrarlos

Puedes quitar archivos y carpetas de Google Drive de Mi unidad y de las unidades compartidas. Tienes dos opciones: enviar a la papelera o borrar.

Puedes mover archivos y carpetas a la papelera y, luego, restablecerlos (en un plazo de 30 días después de enviarlos a la papelera). Si borras archivos y carpetas, se quitarán permanentemente de Drive. Si envías a la papelera, restableces o borras definitivamente varios archivos o carpetas a la vez, es posible que los cambios tarden en reflejarse.

En esta guía, se explica cómo puedes desechar archivos en Drive.

Papelera

Para quitar archivos de Drive, puedes moverlos a la papelera. Los archivos de la papelera se borran automáticamente después de 30 días. Puedes restablecer archivos de la papelera antes del período de 30 días.

Solo el propietario del archivo puede enviar un archivo a la papelera, y otros usuarios no pueden ver los archivos en ella. Si intentas enviar a la papelera un archivo que no te pertenece, recibirás un error insufficientFilePermissions. Para obtener más información, consulta Permisos.

Para verificar que eres el propietario del archivo, llama al método files.get con fileId y el parámetro fields configurados en el campo booleano ownedByMe. El campo ownedByMe no se propaga para los archivos de las unidades compartidas porque son propiedad de ella, no de usuarios individuales. Para obtener más información sobre cómo mostrar campos con el parámetro fields, consulta Cómo mostrar campos específicos para un archivo.

Si no eres el propietario del archivo, pero quieres obtener una copia del archivo que se envió a la papelera, realiza una de las siguientes acciones:

  • Crea una copia del archivo.
  • Comunícate con el propietario para que la restablezca de la papelera.

Cómo mover un archivo a la papelera

Para mover un archivo a la papelera, usa el método files.update y establece el campo trashed en True. Para enviar un archivo de una unidad compartida a la papelera, también debes establecer el parámetro de consulta supportsAllDrives en True. Para obtener más información, consulta Cómo implementar la compatibilidad con unidades compartidas.

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia del recurso files.

En la siguiente muestra de código, se indica cómo usar fileId para marcar el archivo como papelera:

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;

Reemplaza FILE_ID por el fileId del archivo que deseas enviar a la papelera.

Cómo determinar las propiedades de un archivo enviado a la papelera

Cuando un archivo se envía a la papelera, puedes recuperar propiedades files adicionales. Puedes usar el método files.get e incluir los siguientes campos en el parámetro fields. Para obtener más información, consulta Cómo mostrar campos específicos para un archivo.

Los siguientes campos se propagan para todos los archivos:

  • trashed: Indica si el archivo se envió a la papelera, ya sea de forma explícita o desde una carpeta superior que se envió a la papelera. Ten en cuenta que, si bien se usa trashed con el método files.update se establece el estado del archivo, el método files.get lo recupera.
  • explicitlyTrashed: Indica si el archivo se envió explícitamente a la papelera (en lugar de hacerlo de manera recursiva) desde una carpeta superior.

Los siguientes campos solo se propagan para los archivos ubicados en una unidad compartida:

  • trashedTime: La hora en que el elemento se envió a la papelera en formato de fecha y hora RFC 3339. Si usas la versión anterior de la API de Drive v2, este campo se llama trashedDate.
  • trashingUser: Si el archivo se envió explícitamente a la papelera, es decir, el usuario que lo envió.

Cómo recuperar un archivo de la papelera

Para recuperar un archivo de la papelera, usa el método files.update y establece el campo trashed en False. Para recuperar un archivo de una unidad compartida, también debes establecer el parámetro de consulta supportsAllDrives en True. Para obtener más información, consulta Cómo implementar la compatibilidad con unidades compartidas.

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia del recurso files.

En la siguiente muestra de código, se indica cómo usar fileId para marcar el archivo como no en la papelera:

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;

Reemplaza FILE_ID por el fileId del archivo que deseas recuperar.

Vaciar la papelera

Puedes borrar de forma permanente todos los archivos de Drive que el usuario movió a la papelera con el método files.emptyTrash. Para vaciar la papelera de una unidad compartida, también debes establecer el parámetro de consulta driveId en el ID de la unidad compartida.

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia vacía.

En la siguiente muestra de código, se indica cómo usar fileId para borrar todos los archivos de la papelera:

Python

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

Node.js

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

Borrar

Puedes borrar de forma permanente un archivo de Drive sin moverlo a la papelera. Después de borrar un archivo, cualquier persona con la que lo hayas compartido perderá el acceso a él. Si deseas que otras personas conserven el acceso al archivo, puedes transferir la propiedad a otra persona antes de borrarlo.

Para borrar un archivo de unidad compartida, el usuario debe tener role=organizer en la carpeta superior. Si borras una carpeta, también se borran todos los elementos subordinados que pertenecen al usuario. Para obtener más información, consulta Permisos.

Para borrar de forma permanente un archivo de propiedad del usuario sin moverlo a la papelera, usa el método files.delete. Para borrar un archivo de unidad compartida, también debes establecer el parámetro de consulta supportsAllDrives en True. Para obtener más información, consulta Cómo implementar la compatibilidad con unidades compartidas.

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia vacía.

En la siguiente muestra de código, se indica cómo usar fileId para borrar el archivo:

Python

response = drive_service.files().delete(fileId="FILE_ID").execute()

Node.js

 const response = await drive_service.files.delete({
      fileId: 'FILE_ID'
    });
    return response;

Reemplaza FILE_ID por el fileId del archivo que deseas borrar.

Permisos

En la siguiente tabla, se muestran los permisos de función necesarios para realizar cada operación. Para obtener una lista completa de las funciones y las operaciones que permite cada una, consulta Funciones y permisos.

Operación permitida owner organizer fileOrganizer writer commenter reader
Cómo mover archivos y carpetas a la papelera
Cómo recuperar archivos y carpetas de la papelera
Cómo vaciar la papelera
Cómo borrar un archivo o una carpeta de forma permanente
Borrar archivos y carpetas de una unidad compartida [*]

Funciones

Un recurso files contiene una colección de campos booleanos capabilities que se usan para indicar si se puede realizar una acción en un archivo.

Para comprobar las capacidades, llama al método files.get con fileId y el parámetro fields configurados en el campo capabilities. Para obtener más información sobre cómo mostrar campos con el parámetro fields, consulta Cómo mostrar campos específicos para un archivo.

Los siguientes campos se propagan para todos los archivos:

  • capabilities.canTrash: Indica si el usuario actual puede mover este archivo a la papelera.
  • capabilities.canUntrash: Indica si el usuario actual puede restablecer este archivo desde la papelera.
  • capabilities.canDelete: Indica si el usuario actual puede borrar este archivo.
  • capabilities.canRemoveChildren: Indica si el usuario actual puede quitar elementos secundarios de esta carpeta. Esto es falso cuando el elemento no es una carpeta.

Los siguientes campos solo se propagan para los archivos ubicados en una unidad compartida:

  • capabilities.canTrashChildren: Indica si el usuario actual puede enviar a la papelera los elementos secundarios de esta carpeta. Esto es falso cuando el elemento no es una carpeta.
  • capabilities.canDeleteChildren: Indica si el usuario actual puede borrar los elementos secundarios de esta carpeta. Esto es falso cuando el elemento no es una carpeta.

Límites para archivos y carpetas

Los archivos y las carpetas de Drive, junto con las carpetas de las unidades compartidas, tienen algunos límites de almacenamiento.

Por lo general, después de que se alcanza el límite de elementos, la única forma de crear más espacio es borrarlos de forma permanente o usar una cuenta diferente. Mover los archivos a la papelera no es suficiente para liberar espacio.

Para obtener más información sobre los límites de archivos y carpetas, consulta los siguientes vínculos: