Puoi rimuovere file e cartelle di Google Drive sia da Il mio Drive sia dai Drive condivisi. Hai due opzioni per farlo: nel cestino o elimina.
Puoi spostare file e cartelle nel cestino e poi ripristinarli (entro 30 giorni dalla loro eliminazione). I file e le cartelle eliminati vengono rimossi definitivamente da Drive. Se metti nel cestino, ripristini o elimini definitivamente più file o cartelle contemporaneamente, potrebbe essere necessario un po' di tempo per visualizzare le modifiche.
Questa guida spiega come eliminare i file su Drive.
Cestino
Per rimuovere i file di Drive, puoi spostarli nel cestino. I file presenti nel cestino vengono eliminati automaticamente dopo 30 giorni. Puoi ripristinare i file dal cettino prima del periodo di 30 giorni.
Solo il proprietario può spostare un file nel cestino, mentre gli altri utenti non possono visualizzarlo. Se provi a eliminare un file che non è di tua proprietà, riceverai un messaggio di errore
insufficientFilePermissions
. Per ulteriori informazioni, vedi Autorizzazioni.
Per verificare di essere il proprietario del file, chiama il metodo
files.get
con i parametri fileId
e fields
impostati sul campo booleano ownedByMe
. Il campo ownedByMe
non viene compilato per i file dei Drive condivisi perché sono di proprietà del
Drive condiviso, non dei singoli utenti. Per ulteriori informazioni sui campi da restituire utilizzando il parametro fields
, consulta Restituire campi specifici per un file.
Se non sei il proprietario del file, ma vuoi comunque una copia del file eliminato, svolgi una delle seguenti operazioni:
- Crea una copia del file.
- Contatta il proprietario per richiederne il ripristino dal cestino.
Spostare un file nel cestino
Per spostare un file nel cestino, utilizza il metodo
files.update
e imposta il
trashed
campo su True
. Per spostare nel cestino un file di un Drive condiviso, devi anche impostare il
parametro di query supportsAllDrives
su True
. Per saperne di più, consulta
Implementare il supporto dei Drive condivisi.
In caso di esito positivo, il corpo della risposta contiene un'istanza della risorsa files.
Il seguente esempio di codice mostra come utilizzare fileId
per contrassegnare il file come eliminato:
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;
Sostituisci FILE_ID con il fileId
del file che vuoi eliminare.
Determinare le proprietà di un file spostato nel cestino
Quando un file viene eliminato, puoi recuperare proprietà files
aggiuntive. Puoi utilizzare il metodo
files.get
e includere i
seguenti campi nel parametro fields
. Per ulteriori informazioni, consulta Restituire campi specifici per un file.
I seguenti campi vengono compilati per tutti i file:
trashed
: indica se il file è stato spostato nel cestino, in modo esplicito o da una cartella principale spostata nel cestino. Tieni presente che, sebbene l'utilizzo ditrashed
con il metodofiles.update
imposta lo stato del file, il metodofiles.get
ne recupera lo stato.explicitlyTrashed
: indica se il file è stato eliminato esplicitamente, anziché in modo ricorsivo, da una cartella principale.
I seguenti campi vengono compilati solo per i file all'interno di un Drive condiviso:
trashedTime
: l'ora in cui l'elemento è stato eliminato nel formato data e ora RFC 3339. Se utilizzi la versione precedente dell'API Drive 2, questo campo si chiamatrashedDate
.trashingUser
: se il file è stato eliminato esplicitamente, l'utente che lo ha eliminato.
Recuperare un file dal cestino
Per recuperare un file dal cestino, utilizza il metodo
files.update
e imposta il
trashed
campo su False
. Per rimuovere dal cestino un file di un Drive condiviso, devi anche impostare
il parametro di query supportsAllDrives
su True
. Per saperne di più, consulta
Implementare il supporto dei Drive condivisi.
In caso di esito positivo, il corpo della risposta contiene un'istanza della risorsa files.
Il seguente esempio di codice mostra come utilizzare fileId
per contrassegnare il file come rimesso nella cartella principale:
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;
Sostituisci FILE_ID con il fileId
del file che vuoi rimuovere dal cestino.
Svuota cestino
Puoi eliminare definitivamente tutti i file di Drive che l'utente ha spostato nel cestino utilizzando il metodo files.emptyTrash
. Pervuotare il cestino di un Drive condiviso, devi anche impostare il parametro di query driveId
sull'ID del Drive condiviso.
In caso di esito positivo, il corpo della risposta contiene un'istanza vuota.
Il seguente esempio di codice mostra come utilizzare fileId
per eliminare tutti i file nel
casso:
Python
response = drive_service.files().emptyTrash().execute()
Node.js
const response = await drive_service.files.emptyTrash({
});
return response;
Elimina
Puoi eliminare definitivamente un file di Drive senza spostarlo nel cestino. Dopo aver eliminato un file, tutte le persone con cui lo avevi condiviso non potranno più accedervi. Se vuoi che altre persone mantengano l'accesso al file, puoi trasferirne la proprietà a qualcun altro prima dell'eliminazione.
Per eliminare un file di un Drive condiviso, l'utente deve disporre del ruolo role=organizer
per la
cartella principale. Se elimini una cartella, vengono eliminati anche tutti i discendenti di proprietà dell'utente. Per ulteriori informazioni, vedi Autorizzazioni.
Per eliminare definitivamente un file di proprietà dell'utente senza spostarlo nel cestino, utilizza il metodo
files.delete
. Per eliminare il file di un Drive condiviso, devi anche impostare il parametro di query supportsAllDrives
su True
. Per saperne di più, vedi Implementare il supporto dei Drive condivisi.
In caso di esito positivo, il corpo della risposta contiene un'istanza vuota.
Il seguente esempio di codice mostra come utilizzare fileId
per eliminare il file:
Python
response = drive_service.files().delete(fileId="FILE_ID").execute()
Node.js
const response = await drive_service.files.delete({
fileId: 'FILE_ID'
});
return response;
Sostituisci FILE_ID con il fileId
del file che vuoi eliminare.
Autorizzazioni
La tabella seguente mostra le autorizzazioni dei ruoli richieste per eseguire ogni operazione. Per un elenco completo dei ruoli e delle operazioni consentite da ciascuno, consulta Ruoli e autorizzazioni.
Operazione consentita | owner |
organizer |
fileOrganizer |
writer |
commenter |
reader |
---|---|---|---|---|---|---|
Spostare file e cartelle nel cestino | ✔ | ✔ | ✔ | |||
Recuperare file e cartelle dal cestino | ✔ | ✔ | ✔ | |||
Svuotare il cestino | ✔ | ✔ | ||||
Eliminare definitivamente un file o una cartella | ✔ | ✔ | ||||
Eliminare file e cartelle in un Drive condiviso [*] | ✔ |
Funzionalità
Una risorsa files
contiene una raccolta
di campi capabilities
booleani utilizzati per indicare se è possibile
eseguire un'azione su un file.
Per controllare le funzionalità, chiama il metodo
files.get
con i parametri fileId
e fields
impostati sul campo capabilities
. Per ulteriori informazioni su come restituire i campi utilizzando il parametro fields
, consulta Restituire campi specifici per un file.
I seguenti campi vengono compilati per tutti i file:
capabilities.canTrash
: indica se l'utente corrente può spostare questo file nel cestino.capabilities.canUntrash
: indica se l'utente corrente può ripristinare questo file dal cestino.capabilities.canDelete
: indica se l'utente corrente può eliminare questo file.capabilities.canRemoveChildren
: indica se l'utente corrente può rimuovere i figli da questa cartella. Questo valore è falso quando l'elemento non è una cartella.
I seguenti campi vengono compilati solo per i file all'interno di un Drive condiviso:
capabilities.canTrashChildren
: indica se l'utente corrente può eliminare le cartelle secondarie di questa cartella. Questo valore è falso quando l'elemento non è una cartella.capabilities.canDeleteChildren
: indica se l'utente corrente può eliminare i file secondari di questa cartella. Il valore è falso se l'elemento non è una cartella.
Limiti per file e cartelle
I file e le cartelle di Drive, insieme alle cartelle dei Drive condivisi, hanno alcuni limiti di spazio di archiviazione.
In genere, una volta raggiunto il limite di elementi, l'unico modo per creare più spazio è eliminare definitivamente gli elementi o utilizzare un altro account. Spostare i file nel cestino non è sufficiente per liberare spazio.
Per ulteriori informazioni sui limiti di file e cartelle, vedi quanto segue:
Argomenti correlati
- Eliminare file su Google Drive
- Differenze tra l'API Drive condiviso e l'API Il mio Drive
- Ruoli e autorizzazioni