Puedes quitar archivos y carpetas de Google Drive tanto de Mi unidad como de las unidades compartidas. Tienes dos opciones para hacerlo: en la papelera o borrar.
Puedes mover archivos y carpetas a la papelera y, luego, restablecerlos (en un plazo de 30 días a partir de su envío a la papelera). Si borras archivos y carpetas, estos se quitarán de Drive de forma permanente. 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 deshacerte de los archivos en Drive.
Basura
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 transcurran 30 días.
Solo el propietario puede enviar un archivo a la papelera, y los demás usuarios no pueden verlo. Si intentas enviar un archivo que no te pertenece a la papelera, 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 los parámetros fileId
y fields
configurados en el campo booleano ownedByMe
. El campo ownedByMe
no se propaga para los archivos de las unidades compartidas porque estos pertenecen a la unidad compartida, no a 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 una copia del archivo enviado a la papelera, realiza una de las siguientes acciones:
- Crea 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 método files.update
y establece el campo trashed
en True
. Para enviar un archivo de 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 correctamente, 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 enviado 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 almacenar en 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 adicionales de files
. Puedes usar el método files.get
e incluir los siguientes campos en el parámetro fields
. Si quieres 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 bientrashed
con el métodofiles.update
establece el estado del archivo, el métodofiles.get
recupera el estado del archivo.explicitlyTrashed
: Indica si el archivo se envió a la papelera de forma explícita, en lugar de en la papelera de manera recurrente, 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 envió a la papelera en el formato de fecha y hora RFC 3339. Si usas la versión anterior v2 de la API de Drive, este campo se llamarátrashedDate
.trashingUser
: Si el archivo se envió a la papelera de forma explícita, indica el usuario que lo envió a la papelera.
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 la unidad compartida de 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 correctamente, 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 enviado 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 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 un archivo de Drive de forma permanente 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 quieres que otros 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 del usuario. Para obtener más información, consulta Permisos.
Para borrar de forma permanente un archivo 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 |
---|---|---|---|---|---|---|
Mueve archivos y carpetas a la papelera | ✔ | ✔ | ✔ | |||
Cómo recuperar archivos y carpetas de la papelera | ✔ | ✔ | ✔ | |||
Cómo vaciar la papelera | ✔ | ✔ | ||||
Cómo borrar definitivamente un archivo o una carpeta | ✔ | ✔ | ||||
Borra archivos y carpetas de una unidad compartida [*] | ✔ |
Capacidades
Un recurso files
contiene una colección de campos capabilities
booleanos que se usan para indicar si se puede realizar una acción en un archivo.
Para verificar las funciones, 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. El valor es falso cuando 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 eliminar los elementos secundarios de esta carpeta. El valor es falso cuando el elemento no es una carpeta.capabilities.canDeleteChildren
: Indica si el usuario actual puede borrar los elementos secundarios de esta carpeta. El valor es falso cuando el elemento no es una carpeta.
Temas relacionados
- Cómo borrar y restablecer archivos en Google Drive
- Diferencias entre las unidades compartidas y la API de My Drive
- Funciones y permisos