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. Per farlo, hai due opzioni: cestinare o eliminare.

Puoi spostare file e cartelle nel cestino e poi ripristinarli (entro 30 giorni dallo spostamento nel cestino). L'eliminazione di file e cartelle li rimuove definitivamente 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 visualizzare le modifiche.

Questa guida spiega come eliminare i file in Drive.

Utilizzare il parametro fields

Se vuoi specificare i campi da restituire nella risposta, puoi impostare il fields parametro di sistema con qualsiasi metodo della risorsa files. Se ometti il parametro fields, il server restituisce un insieme predefinito di campi specifici per il metodo. Ad esempio, il metodo list restituisce solo i campi kind, id, name, mimeType e resourceKey per ogni file. Per restituire campi diversi, vedi Restituire campi specifici.

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 cestino prima che siano trascorsi 30 giorni.

Solo il proprietario del file può spostarlo nel cestino e gli altri utenti non possono visualizzare i file nel cestino del proprietario. Se provi a eliminare un file di cui non sei proprietario, ricevi un insufficientFilePermissions errore. Per maggiori informazioni, vedi Autorizzazioni.

Per verificare che tu sia il proprietario del file, chiama il metodo get sulla risorsa files con il parametro di percorso fileId e il parametro fields impostato sul campo booleano ownedByMe. Il campo ownedByMe non viene compilato per i file nei Drive condivisi perché sono di proprietà del Drive condiviso, non dei singoli utenti. Per saperne di più sul parametro fields, vedi Utilizzare il parametro fields.

Se non sei il proprietario del file, ma vuoi comunque una copia del file cestinato, esegui una delle seguenti operazioni:

  • Crea una copia del file.
  • Contatta il proprietario per chiedergli di ripristinarlo dal cestino.

Spostare un file nel cestino

Per spostare un file nel cestino, utilizza il metodo update nella risorsa files con il parametro di percorso fileId e imposta il campo booleano trashed su true. Per spostare un file del Drive condiviso nel cestino, devi anche impostare il parametro di query booleano 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 della risorsa files.

Il seguente esempio di codice mostra come utilizzare fileId per contrassegnare il file come spostato nel 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 fileId del file che vuoi spostare nel cestino.

Determinare le proprietà di un file spostato nel cestino

Quando un file viene spostato nel cestino, puoi recuperare ulteriori proprietà del file. Puoi utilizzare il metodo get sulla risorsa files con il parametro di percorso fileId e utilizzare uno dei seguenti campi eliminati nel parametro fields. Per ulteriori informazioni sul parametro fields, consulta la sezione Utilizzare il parametro fields.

I seguenti campi vengono compilati per tutti i file:

  • trashed: indica se il file è stato cestinato, esplicitamente o da una cartella principale cestinata. Tieni presente che mentre l'utilizzo di trashed con il metodo update imposta lo stato del file, il metodo get recupera lo stato del file.
  • explicitlyTrashed: Indica se il file è stato eliminato in modo esplicito, anziché in modo ricorsivo, da una cartella principale.

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 cestinato nel formato data e ora RFC 3339. Se utilizzi la versione precedente dell'API Drive v2, questo campo è denominato trashedDate.
  • trashingUser: se il file è stato eliminato in modo esplicito, l'utente che lo ha eliminato.

Recuperare un file dal cestino

Per recuperare un file dal cestino, utilizza il metodo update sulla risorsa files con il parametro di percorso fileId e imposta il campo booleano trashed su false. Per ripristinare un file del Drive condiviso, devi anche impostare il parametro di query booleano 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 della risorsa files.

Il seguente esempio di codice mostra come utilizzare fileId per contrassegnare il file come non cestinato:

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 recuperare.

Svuota cestino

Puoi eliminare definitivamente tutti i file di Drive che l'utente ha spostato nel cestino utilizzando il metodo emptyTrash nella risorsa files. 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 oggetto JSON vuoto.

Il seguente esempio di codice mostra come utilizzare fileId per eliminare definitivamente tutti i file nel cestino:

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 che hai eliminato un file, le persone con cui lo hai condiviso non potranno più accedervi. Se vuoi che altre persone continuino ad accedere al file, puoi trasferirne la proprietà a qualcun altro prima dell'eliminazione.

Per eliminare un file del Drive condiviso, l'utente deve disporre dell'autorizzazione role=organizer per la cartella principale. Se elimini una cartella, vengono eliminati anche tutti i discendenti di proprietà dell'utente. Per maggiori informazioni, vedi Autorizzazioni.

Per eliminare definitivamente un file di proprietà dell'utente senza spostarlo nel cestino, utilizza il metodo delete sulla risorsa files. Per eliminare un file di Drive condiviso, devi anche impostare il parametro di query booleano 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 oggetto JSON vuoto.

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 seguente tabella mostra le autorizzazioni del ruolo necessarie per spostare nel cestino o eliminare file e cartelle. 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 un file o una cartella
Eliminare file e cartelle in un Drive condiviso [*]
Eliminare un Drive condiviso vuoto

Funzionalità

Una risorsa files contiene una raccolta di campi booleani capabilities che indicano le funzionalità che l'utente ha su questo file.

Per controllare le funzionalità, chiama il metodo get nella risorsa files con il parametro di percorso fileId e utilizza uno dei seguenti campi capabilities nel parametro fields. Per saperne di più sul parametro fields, vedi Utilizzare il parametro fields.

I seguenti campi vengono compilati per tutti i file:

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 i file secondari di questa cartella. Questo è false quando l'elemento non è una cartella.
  • capabilities.canDeleteChildren: Indica se l'utente attuale può eliminare i figli di questa cartella. Questo è false quando 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 account diverso. Spostare i file nel cestino non è sufficiente per liberare spazio.

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