Spostarsi nel cestino o eliminare file e cartelle

Puoi rimuovere file e cartelle di Google Drive sia da Il mio Drive sia dai Drive condivisi. Hai due opzioni per farlo: cestino o eliminazione.

Puoi spostare file e cartelle nel cestino e poi ripristinarli (entro 30 giorni dal momento in cui vengono spostati). L'eliminazione di file e cartelle ne comporta la rimozione definitiva da Drive. Se sposti nel cestino, ripristini o elimini in modo definitivo più file o cartelle contemporaneamente, potrebbe essere necessario un po' di tempo per notare le modifiche.

Questa guida spiega come eliminare i file su Drive.

Spazzatura

Per rimuovere i file di Drive, puoi spostarli nel cestino. I file nel cestino vengono eliminati automaticamente dopo 30 giorni. Puoi ripristinare i file dal cestino prima che siano trascorsi 30 giorni.

Solo il proprietario può spostare un file nel cestino, mentre gli altri utenti non possono visualizzarlo. Se tenti di spostare nel cestino un file che non è di tua proprietà, ricevi un errore insufficientFilePermissions. Per ulteriori informazioni, vedi Autorizzazioni.

Per verificare di essere il proprietario del file, chiama il metodo files.get con fileId e il parametro fields impostato sul campo booleano ownedByMe. Il campo ownedByMe non viene compilato per i file che si trovano nei Drive condivisi perché sono di proprietà del Drive condiviso, non di singoli utenti. Per ulteriori informazioni sulla restituzione di campi utilizzando il parametro fields, vedi Restituire campi specifici per un file.

Se non sei il proprietario del file, ma vuoi comunque una copia del file spostato nel cestino, procedi in uno dei seguenti modi:

  • 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 campo trashed su True. Per spostare nel cestino un file di un Drive condiviso, devi anche impostare il parametro di query supportsAllDrives su True. Per maggiori informazioni, vedi 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 cestino:

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 valore fileId del file che vuoi cestino.

Determinare le proprietà di un file spostato nel cestino

Quando un file viene spostato nel cestino, puoi recuperare ulteriori proprietà di files. Puoi utilizzare il metodo files.get e includere i seguenti campi nel parametro fields. Per ulteriori informazioni, vedi Restituire campi specifici di un file.

I seguenti campi sono 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, se utilizzi trashed con il metodo files.update imposta lo stato del file, il metodo files.get recupera lo stato del file.
  • explicitlyTrashed: indica se il file è stato spostato esplicitamente nel cestino da una cartella principale e non in modo ricorsivo.

I seguenti campi vengono compilati solo per i file che si trovano all'interno di un Drive condiviso:

  • trashedTime: l'ora in cui l'elemento è stato spostato nel cestino nel formato data-ora RFC3339. Se utilizzi la versione precedente dell'API Drive v2, questo campo è denominato trashedDate.
  • trashingUser: se il file è stato spostato esplicitamente nel cestino, l'utente che lo ha spostato nel cestino.

Recuperare un file dal cestino

Per recuperare un file dal cestino, utilizza il metodo files.update e imposta il campo trashed su False. Per rimuovere dal cestino un file di un Drive condiviso, devi anche impostare il parametro di query supportsAllDrives su True. Per maggiori informazioni, vedi 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 non nel cestino:

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 valore fileId del file che vuoi eliminare dal cestino.

Svuota cestino

Puoi eliminare definitivamente tutti i file di Drive che l'utente ha spostato nel cestino utilizzando il metodo files.emptyTrash. Per svuotare 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 cestino:

Python

response = drive_service.files().emptyTrash().execute()

Node.js

 const response = await drive_service.files.emptyTrash({
    });
    return response;

Eliminazione

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 trasferire la proprietà a un'altra persona prima dell'eliminazione.

Per eliminare il file di un Drive condiviso, l'utente deve avere role=organizer nella 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 ulteriori informazioni, 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 valore fileId del file che vuoi eliminare.

Autorizzazioni

La tabella seguente mostra le autorizzazioni dei ruoli necessarie per eseguire ciascuna 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
Eliminazione di 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 verificare le funzionalità, chiama il metodo files.get con il parametro fileId e fields impostati sul campo capabilities. Per ulteriori informazioni sulla restituzione di campi utilizzando il parametro fields, consulta Restituire campi specifici di un file.

I seguenti campi sono compilati per tutti i file:

  • capabilities.canTrash: indica se l'utente corrente può spostare il file nel cestino.
  • capabilities.canUntrash: indica se l'utente corrente può ripristinare il file dal cestino.
  • capabilities.canDelete: se l'utente corrente può eliminare il file.
  • capabilities.canRemoveChildren: indica se l'utente corrente può rimuovere i bambini da questa cartella. Questo valore è falso quando l'elemento non è una cartella.

I seguenti campi vengono compilati solo per i file che si trovano all'interno di un Drive condiviso:

  • capabilities.canTrashChildren: indica se l'utente corrente può spostare nel cestino gli elementi secondari 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. Questo valore è falso quando l'elemento non è una cartella.

Limiti per file e cartelle

I file e le cartelle di Drive, come anche le 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. Lo spostamento di file nel cestino non è sufficiente per liberare spazio.

Per ulteriori informazioni sui limiti di file e cartelle, vedi quanto segue: