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

Puedes quitar archivos y carpetas de Google Drive de Mi unidad y de unidades compartidas. Existen dos maneras de hacerlo: moverlos a la papelera o borrarlos.

Puedes mover archivos y carpetas a la papelera y, luego, restablecerlos (en un plazo de 30 días después de moverlos a la papelera). Si borras archivos y carpetas, se quitarán de Drive de forma permanente. Si mueves 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 deshacerte de los archivos en Drive.

Usa el parámetro fields

Si deseas especificar los campos que se mostrarán en la respuesta, puedes configurar el fields parámetro del sistema con cualquier método del recurso files. Si omites el parámetro fields, el servidor muestra un conjunto predeterminado de campos específicos del método. Por ejemplo, el list método solo muestra los campos kind, id, name, mimeType, y resourceKey para cada archivo. Para mostrar diferentes campos, consulta Muestra campos específicos.

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 los archivos de la papelera antes de que pasen 30 días.

Solo el propietario del archivo puede moverlo a la papelera, y otros usuarios no pueden ver los archivos en la papelera del propietario. Si intentas mover a la papelera un archivo que no es de tu propiedad, recibirás un insufficientFilePermissions error. Para obtener más información, consulta Permisos.

Para verificar que eres el propietario del archivo, llama al get método en el recurso files con el parámetro de ruta de acceso fileId y el parámetro fields configurado en el campo booleano ownedByMe. El campo ownedByMe no se propaga para los archivos en unidades compartidas porque son propiedad de la unidad compartida, no de usuarios individuales. Para obtener más información sobre el parámetro fields, consulta Usa el parámetro fields.

Si no eres el propietario del archivo, pero quieres una copia del archivo movido a la papelera, haz una de las siguientes acciones:

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

Cómo mover un archivo a la papelera

Para mover un archivo a la papelera, usa el update método en el recurso files con el parámetro de ruta de acceso fileId y configura el campo booleano trashed en true. Para mover a la papelera un archivo de unidad compartida, también debes configurar el parámetro de consulta booleano supportsAllDrives en true. Para obtener más información, consulta Implementa la compatibilidad con unidades compartidas.

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

En la siguiente muestra de código, se explica cómo usar el fileId para marcar el archivo como movido a la 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 mover a la papelera.

Determina las propiedades de un archivo movido a la papelera

Cuando un archivo se mueve a la papelera, puedes recuperar propiedades de archivo adicionales. Puedes usar el get método en el recurso files con el parámetro de ruta de acceso fileId y usar uno de los siguientes campos movidos a la papelera en el parámetro fields. Para obtener más información sobre el fields parámetro, consulta Usa el parámetro fields.

Los siguientes campos se propagan para todos los archivos:

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

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

  • trashedTime: Es la hora en que el elemento se movió 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 movió a la papelera de forma explícita, es el usuario que lo hizo.

Cómo recuperar un archivo de la papelera

Para recuperar un archivo de la papelera, usa el update método en el recurso files con el parámetro de ruta de acceso fileId y configura el campo booleano trashed en false. Para quitar un archivo de unidad compartida de la papelera, también debes configurar el parámetro de consulta booleano supportsAllDrives en true. Para obtener más información, consulta Implementa la compatibilidad con unidades compartidas.

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

En la siguiente muestra de código, se explica cómo usar el fileId para marcar el archivo como no movido a 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 quitar de la papelera.

Vaciar la papelera

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

Si se ejecuta correctamente, el cuerpo de la respuesta es un objeto JSON vacío.

En la siguiente muestra de código, se explica cómo usar el fileId para borrar de forma permanente 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. Una vez que borres el archivo, las personas con quienes lo hayas compartido no podrán acceder a él. Si quieres que otras personas conserven el acceso al archivo, puedes transferir la propiedad a otro usuario 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 descendientes que son propiedad del usuario. Para obtener más información, consulta Permisos.

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

Si se ejecuta correctamente, el cuerpo de la respuesta es un objeto JSON vacío.

En la siguiente muestra de código, se explica cómo usar el 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 mover a la papelera o borrar archivos y carpetas. Para obtener una lista completa de las funciones y las operaciones permitidas por cada una, consulta Funciones y permisos.

Operación permitida owner organizer fileOrganizer writer commenter reader
Mover archivos y carpetas a la papelera
Recuperar archivos y carpetas de la papelera
Vaciar la papelera
Borrar un archivo o una carpeta
Borrar archivos y carpetas en una unidad compartida [*]
Borrar una unidad compartida vacía

Funciones

Un recurso files contiene una colección de campos booleanos capabilities que indican las funciones que tiene el usuario en este archivo.

Para verificar las funciones, llama al get método en el recurso files con el parámetro de ruta de acceso fileId y usa uno de los siguientes campos capabilities en el parámetro fields. Para obtener más información sobre el fields parámetro, consulta Usa el parámetro fields.

Los siguientes campos se propagan para todos los archivos:

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

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

Límites de archivos y carpetas

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

Por lo general, una vez que se alcanza el límite de elementos, la única forma de crear más espacio es para borrar permanentemente elementos o usar una cuenta diferente. Mover 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 lo siguiente: