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 usartrashedcon el métodoupdateestablece el estado del archivo, el métodogetrecupera 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 llamatrashedDate.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:
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 de 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. Esfalsecuando el elemento no es una carpeta.
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. Esfalsecuando el elemento no es una carpeta.capabilities.canDeleteChildren: Indica si el usuario actual puede borrar los elementos secundarios de esta carpeta. Esfalsecuando 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:
Temas relacionados
- Cómo borrar archivos en Google Drive
- Diferencias entre la API de Mi unidad y la de unidades compartidas
- Funciones y permisos