Creare e gestire file

Questa guida spiega come creare e gestire i file in Google Drive utilizzando l'API Google Drive.

Crea file

Per creare un file in Drive che non contenga metadati o contenuti, utilizza il metodo create sulla risorsa files senza parametri.

Quando crei il file, il metodo restituisce una risorsa files. Al file viene assegnato un kind di drive.file, un id, un name "Senza titolo" e un mimeType di application/octet-stream. Il uploadType è contrassegnato come obbligatorio, ma il valore predefinito è media, quindi non devi fornirlo.

Per ulteriori informazioni sui limiti dei file di Drive, consulta Limiti di file e cartelle.

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.

Proprietà dei file

Quando un file viene creato utilizzando l'API Drive, la proprietà dipende dalle credenziali di autenticazione utilizzate dall'app nei seguenti modi:

  • Account utente (OAuth 2.0): se l'applicazione esegue l'autenticazione per conto di un utente, quest'ultimo diventa il proprietario del file. Il file si trova quindi nella cartella Il mio Drive o in una cartella specificata. Consuma la quota di spazio di archiviazione.

  • Service Account: se l'applicazione esegue l'autenticazione utilizzando un service account, quest'ultimo è il proprietario del file. Il file si trova quindi nello spazio di archiviazione Drive dedicato dell'account di servizio. I file non vengono visualizzati in altri account di archiviazione Drive, a meno che non vengano condivisi esplicitamente. Se l'account di servizio viene eliminato, tutti i file di sua proprietà vengono eliminati immediatamente.

    Se utilizzi un service account, ma vuoi che un account utente specifico sia il proprietario di un file, utilizza la delega a livello di dominio. In questo modo, l'account di servizio può assumere l'identità di un utente e creare file per suo conto. Per saperne di più, consulta Delegare l'autorità a livello di dominio al service account.

Per saperne di più sulle autorizzazioni dei file, vedi Condividere file, cartelle e unità.

Generare ID da utilizzare con i file

Il metodo generateIds nella risorsa files consente di pregenerare ID file unici che possono essere utilizzati durante la creazione o la copia di file e cartelle in Drive. Ciò può essere utile quando devi controllare gli ID file dalla tua app, anziché lasciare che Drive li assegni automaticamente.

Puoi impostare il numero di ID generati utilizzando il parametro di query count. Se count non è impostato, vengono restituiti 10 risultati per impostazione predefinita. Il numero massimo di ID che puoi richiedere è limitato a 1000.

Puoi anche specificare il space in cui gli ID possono essere utilizzati e il type degli articoli per i quali possono essere utilizzati gli ID.

Una volta generato, l'ID può essere passato al metodo create o copy tramite il campo id. In questo modo, il file creato o copiato utilizza l'ID predeterminato.

Se il file viene creato o copiato correttamente, i tentativi successivi restituiscono un codice di stato HTTP 409 Conflict e non vengono creati file duplicati.

Tieni presente che gli ID pregenerati non sono supportati per la creazione di file Google Workspace, ad eccezione dei application/vnd.google-apps.drive-sdk e application/vnd.google-apps.folder tipi MIME. Analogamente, i caricamenti che fanno riferimento a una conversione in un formato di file Google Workspace non sono supportati.

Creare file solo con metadati

I file contenenti solo metadati non contengono contenuti. I metadati sono dati (ad esempio name, mimeType e createdTime) che descrivono il file. I campi come name sono indipendenti dall'utente e appaiono uguali per tutti, mentre campi come viewedByMeTime contengono valori specifici per l'utente.

Un esempio di file solo metadati è una cartella con il tipo MIME application/vnd.google-apps.folder. Per saperne di più, vedi Creare e compilare cartelle. Un altro esempio è una scorciatoia che rimanda a un altro file su Drive con il tipo MIME application/vnd.google-apps.shortcut. Per ulteriori informazioni, vedi Creare una scorciatoia a un file di Drive.

Gestire le immagini in miniatura

Le miniature aiutano gli utenti a identificare i file di Drive. Drive può generare automaticamente miniature per i tipi di file comuni oppure puoi fornire un'immagine miniatura generata dalla tua app. Per ulteriori informazioni, consulta Caricare miniature.

Copiare un file esistente

Per copiare un file e applicare gli eventuali aggiornamenti richiesti, utilizza il metodo copy sulla risorsa files. Per trovare l'fileId da copiare, utilizza il metodo list.

Puoi applicare gli aggiornamenti tramite la semantica delle patch, il che significa che puoi apportare modifiche parziali a una risorsa. Nella richiesta devi impostare in modo esplicito i campi che intendi modificare. I campi non inclusi nella richiesta mantengono i valori esistenti. Per saperne di più, consulta Utilizzo delle risorse parziali.

Puoi preimpostare l'ID file del file copiato utilizzando il metodo generateIds. Per ulteriori informazioni, vedi Generare ID da utilizzare con i file.

Tieni presente che devi utilizzare un ambito API Drive appropriato per autorizzare la chiamata. Per ulteriori informazioni sugli ambiti di Drive, vedi Scegliere gli ambiti dell'API Google Drive.

Limiti e considerazioni

Quando ti prepari a copiare i file, tieni presente questi limiti e considerazioni:

  • Autorizzazioni:

    • L'oggetto DownloadRestrictionsMetadata della risorsa files determina chi può copiare il file. Per saperne di più, vedi Impedire agli utenti di scaricare, stampare o copiare un file.
    • La risorsa campo capabilities.canCopy determina se l'utente può copiare un file. Per saperne di più, consulta la sezione Informazioni sulle funzionalità dei file.
    • L'utente che ha creato la copia è il proprietario del file copiato. Nessun'altra impostazione di condivisione del file di origine viene replicata. Se la copia viene creata in una cartella condivisa, eredita le autorizzazioni di quella cartella.
    • La proprietà di un file copiato potrebbe cambiare e la copia potrebbe non ereditare le impostazioni di condivisione del file originale. Potrebbe essere necessario ripristinare queste impostazioni.
  • Gestione dei file:

    • Alcuni file, come le scorciatoie di terze parti, non possono mai essere copiati.
    • Puoi copiare un file in una sola cartella principale. La specifica di più genitori non è supportata. Se il campo parents non è specificato, il file eredita tutti i genitori rilevabili dal file di origine.
    • Anche se una cartella è un tipo di file, non puoi copiarla. Crea invece una cartella di destinazione e imposta il campo parents dei file esistenti sulla cartella di destinazione. A questo punto puoi eliminare la cartella di origine originale.
    • A meno che non venga specificato un nuovo nome file, il metodo copy produce un file con lo stesso nome dell'originale.
    • L'utilizzo eccessivo di copy può comportare il superamento dei limiti di quota dell'API Drive. Per saperne di più, consulta Limiti di utilizzo.

Ecco alcuni passaggi successivi che puoi provare: