L'ultima versione dell'API Google Drive è la v3. Nella versione 3 le prestazioni sono migliori in quanto le ricerche restituiscono solo un sottoinsieme di campi. Usa la versione attuale a meno che non sia necessario la raccolta v2. Se utilizzi la versione 2, considera migrazione alla versione 3. Per eseguire la migrazione, vedi Eseguire la migrazione all'API Drive v3. Per un elenco completo delle differenze di versione, consulta il confronto tra API Drive v2 e v3 riferimento.
Se vuoi continuare a utilizzare la versione 2, consulta l'emendamento Guida all'API Drive v2 per scoprire come alcune istruzioni nella versione 3 le guide devono essere modificate per gli sviluppatori v2.
Per ulteriori informazioni sui miglioramenti dell'API Drive v3, puoi guardare il seguente video dei tecnici Google che parlano della nuova progettazione dell'API.
Miglioramenti V3
Per ottimizzare le prestazioni e ridurre la complessità del comportamento delle API, la versione v3 fornisce questi Miglioramenti rispetto alla versione precedente dell'API:
- Le ricerche di file e Drive condivisi non restituiscono risorse complete per impostazione predefinita
viene restituito solo un sottoinsieme
dei campi di uso comune. Per ulteriori dettagli su
fields
, vedi il metodofiles.list
e il metododrives.list
. - Quasi tutti i metodi che restituiscono una risposta ora richiedono il
fields
. Per un elenco di tutti i metodi che richiedonofields
, consulta le Riferimento API Drive. - Le risorse con funzionalità duplicate sono state rimosse. Alcuni esempi:
- Il metodo
files.list
svolge la stessa funzionalità del metodoChildren
eParents
raccolte, pertanto sono state rimosse dalla versione 3. - I metodi
Realtime.*
sono stati rimossi.
- Il metodo
- I dati delle app non vengono restituiti per impostazione predefinita nelle ricerche. Nella versione v2, puoi impostare
drive.appdata
e restituisce i dati dell'applicazione dall'files.list
e lachanges.list
ma rallenta le prestazioni. Nella versione 3, imposti l'ambitodrive.appdata
, e imposta anche il parametro di queryspaces=appDataFolder
per richiedere dati dell'applicazione. - Tutte le operazioni di aggiornamento utilizzano PATCH anziché PUT.
- Per esportare i documenti Google, utilizza
files.export
. - Il comportamento del metodo
changes.list
è diverso. Al posto degli ID modifica, utilizza opaci di pagina. Per eseguire il polling della raccolta delle modifiche, devi prima chiamare ilchanges.getStartPageToken
per il valore iniziale. Per le query successive, il valorechanges.list
restituisce il valorenewStartPageToken
. - I metodi di aggiornamento ora rifiutano le richieste che specificano campi non scrivibili.
- I campi
exportFormats
eimportFormats
v2 nella Le risorse diabout
sono elenchi di formati di importazione o esportazione consentiti. Nella versione 3, sono mappe di tipo MIME possibili target per tutte le importazioni o esportazioni supportate. - Gli alias v2
appdata
eappfolder
sono oraappDataFolder
nella v3. - La risorsa
properties
è stata rimossa dalla versione 3. La La risorsafiles
ha il campoproperties
che contiene coppie chiave-valore vere. Il campoproperties
contiene elementi pubblici proprietà, mentre il campoappProperties
contiene proprietà private, il campo della visibilità non è necessario. - Il campo
modifiedTime
nella risorsafiles
si aggiorna l'ultima volta chiunque ha modificato il file. Nella versione 2, il campomodifiedDate
era modificabile solo all'aggiornamento se imposti il camposetModifiedDate
. - Il campo
viewedByMeTime
nella risorsafiles
non viene automaticamente aggiornamento. - Per importare i formati di Documenti Google, imposta il target appropriato
mimeType
nel corpo della risorsa. Nella versione 2, hai impostato?convert=true
. - Le operazioni di importazione restituiscono un errore 400 se il formato non è supportato.
- I lettori e i commentatori non possono visualizzare le autorizzazioni.
- L'alias
me
per le autorizzazioni è stato rimosso. - Alcune funzionalità erano disponibili come parte della risorsa di richiesta, ma sono
è disponibile come parametro di richiesta. Ad esempio:
- Nella versione v2, puoi utilizzare
children.delete
per rimuovere un file secondario da un cartella principale. - Nella versione 3, utilizzi
files.update
nell'account secondario con?removeParents=parent_id
nell'URL.
- Nella versione v2, puoi utilizzare
Altre differenze
I nomi dei parametri e dei campi sono diversi nella versione 3. Ecco alcuni esempi:
- La proprietà
name
sostituiscetitle
nella risorsafiles
. Time
è il suffisso per tutti i campi relativi a data e ora anzichéDate
.- Le operazioni di elenco non utilizzano il campo
items
per contenere il set di risultati. La risorsa fornisce un campo per i risultati (ad esempiofiles
ochanges
).