Puedes quitar archivos y carpetas de Google Drive de Mi unidad y de las unidades compartidas. Tienes dos opciones para hacerlo: descartar o borrar.
Puedes mover archivos y carpetas a la papelera y, luego, restablecerlos (en un plazo de 30 días después de hacerlo). Si borras archivos y carpetas, se quitarán de forma permanente de Drive. Si borras, restableces o eliminas 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 descartar archivos en Drive.
Usa el parámetro fields
Si deseas especificar los campos que se devolverán en la respuesta, puedes establecer el parámetro del sistema fields
con cualquier método del recurso files
. Si omites el parámetro fields
, el servidor devolverá un conjunto predeterminado de campos específicos del método. Por ejemplo, el método list
solo devuelve los campos kind
, id
, name
, mimeType
y resourceKey
para cada archivo. Para devolver diferentes campos, consulta Cómo devolver 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 enviarlo a la papelera, y los demás usuarios no pueden ver los archivos en la papelera del propietario. Si intentas descartar 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 get
en el recurso files
con el parámetro de ruta de acceso fileId
y el parámetro fields
establecido en el campo booleano ownedByMe
. El campo ownedByMe
no se completa para los archivos de las 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 Cómo usar el parámetro fields.
Si no eres el propietario del archivo, pero quieres una copia del archivo que se envió a la papelera, haz una de las siguientes acciones:
- Crea una copia del archivo.
- Comunícate con el propietario para que lo restablezca desde la papelera.
Cómo mover un archivo a la papelera
Para mover un archivo a la papelera, usa el método update
en el recurso files
con el parámetro de ruta de acceso fileId
y establece el campo booleano trashed
en true
. Para descartar un archivo de unidad compartida, también debes establecer 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 contiene una instancia del recurso files
.
En la siguiente muestra de código, se muestra cómo usar fileId
para marcar el archivo como descartado:
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 en la papelera
Cuando se descarta un archivo, puedes recuperar propiedades adicionales del archivo. Puedes usar el método get
en el recurso files
con el parámetro de ruta de acceso fileId
y usar uno de los siguientes campos descartados en el parámetro fields
. Para obtener más información sobre el parámetro fields
, consulta Cómo usar el parámetro fields.
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 principal que se envió a la papelera. Ten en cuenta que, si bien usartrashed
con el métodoupdate
establece el estado del archivo, el métodoget
recupera el estado del archivo.explicitlyTrashed
: Indica si el archivo se envió explícitamente a la papelera, a diferencia de si se envió de forma recursiva desde una carpeta superior.
Los siguientes campos solo se completan para los archivos ubicados en una unidad compartida:
trashedTime
: Es la fecha y hora en que se envió el elemento 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 llamatrashedDate
.trashingUser
: Si el archivo se envió a la papelera de forma explícita, el usuario que lo hizo.
Cómo recuperar un archivo de la papelera
Para recuperar un archivo de la papelera, usa el método update
en el recurso files
con el parámetro de ruta de acceso fileId
y establece el campo booleano trashed
en false
. Para recuperar un archivo de la papelera de una unidad compartida, también debes establecer 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 contiene una instancia del recurso files
.
En la siguiente muestra de código, se muestra cómo usar fileId
para marcar el archivo como no eliminado:
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 haya movido a la papelera con el método emptyTrash
en el recurso files
. 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 un objeto JSON vacío.
En la siguiente muestra de código, se muestra cómo usar 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 un archivo de Drive de forma permanente 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 sigan teniendo 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 principal. Si borras una carpeta, también se borrarán todos los elementos descendientes que pertenezcan al 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 método delete
en el recurso files
. Para borrar un archivo de unidad compartida, también debes establecer 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 contiene un objeto JSON vacío.
En la siguiente muestra de código, se muestra 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 rol necesarios para descartar o borrar archivos y carpetas. Para obtener una lista completa de los roles y las operaciones permitidas por cada uno, consulta Roles 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 | ||||||
Vaciar la papelera | ||||||
Cómo borrar un archivo o una carpeta | ||||||
Borra archivos y carpetas en una unidad compartida. [*] | ||||||
Cómo borrar una unidad compartida vacía |
Funciones
Un recurso files
contiene una colección de campos booleanos capabilities
que indican las capacidades que tiene el usuario en este archivo.
Para verificar las capacidades, llama al método get
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 parámetro fields
, consulta Cómo usar el parámetro fields.
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. Esfalse
cuando el elemento no es una carpeta.
Los siguientes campos solo se completan para los archivos ubicados en una unidad compartida:
capabilities.canTrashChildren
: Indica si el usuario actual puede descartar los elementos secundarios de esta carpeta. Esfalse
cuando el elemento no es una carpeta.capabilities.canDeleteChildren
: Indica si el usuario actual puede borrar elementos secundarios de esta carpeta. Esfalse
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 las unidades compartidas, tienen algunos límites de almacenamiento.
En general, después de alcanzar el límite de elementos, la única forma de crear más espacio es borrar elementos de forma permanente o usar otra cuenta. 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:
Temas relacionados
- Cómo borrar archivos en Google Drive
- Diferencias entre las APIs de unidades compartidas y Mi unidad
- Funciones y permisos