L'ultima versione dell'API Google Drive è la v3. Le prestazioni della v3 sono migliori perché le ricerche restituiscono solo un sottoinsieme di campi. Utilizza la versione attuale a meno che tu non abbia bisogno della v2. Se utilizzi la v2, valuta la migrazione alla v3. Per eseguire la migrazione, consulta Esegui la migrazione all'API Drive v3. Per un elenco completo delle differenze tra le versioni, consulta il riferimento di confronto tra l'API Drive v2 e v3.
Se vuoi continuare a utilizzare la v2, consulta la Guida alla modifica dell'API Drive v2 per scoprire come alcune istruzioni nelle guide della v3 devono essere modificate per gli sviluppatori della v2.
Per scoprire di più sui miglioramenti dell'API Drive v3, puoi guardare il seguente video in cui gli ingegneri di Google parlano della nuova progettazione dell'API.
Miglioramenti della v3
Per ottimizzare le prestazioni e ridurre la complessità del comportamento dell'API, la v3 offre i seguenti miglioramenti rispetto alla versione precedente dell'API:
- Per impostazione predefinita, le ricerche di file e Drive condivisi non restituiscono risorse complete, ma solo un sottoinsieme di campi di uso comune. Per maggiori dettagli su
fields, consulta il metodofiles.liste il metododrives.list. - Quasi tutti i metodi che restituiscono una risposta ora richiedono il parametro
fields. Per un elenco di tutti i metodi che richiedonofields, consulta il Riferimento dell'API Drive. - Le risorse con funzionalità duplicate sono state rimosse. Ecco alcuni esempi:
- Il metodo
files.listsvolge la stessa funzionalità delle raccolteChildreneParents, pertanto viene rimosso dalla v3. - I metodi
Realtime.*sono stati rimossi.
- Il metodo
- Per impostazione predefinita, i dati delle app non vengono restituiti nelle ricerche. Nella v2, puoi impostare l'ambito
drive.appdatae vengono restituiti i dati dell'applicazione dalfiles.listmetodo e dalchanges.listmetodo, ma le prestazioni rallentano. Nella v3, imposta l'ambitodrive.appdatae anche il parametro di queryspaces=appDataFolderper richiedere i dati dell'applicazione. - Tutte le operazioni di aggiornamento utilizzano PATCH anziché PUT.
- Per esportare i documenti Google, utilizza il
files.exportmetodo. - Il comportamento del metodo
changes.listè diverso. Invece degli ID di modifica, utilizza i token di pagina opachi. Per eseguire il polling della raccolta di modifiche, chiama prima ilchanges.getStartPageTokenmetodo per il valore iniziale. Per le query successive, il metodochanges.listrestituisce il valorenewStartPageToken. - I metodi di aggiornamento ora rifiutano le richieste che specificano campi non scrivibili.
- I campi
exportFormatseimportFormatsdella v2 nella risorsaaboutsono elenchi di formati di importazione o esportazione consentiti. Nella v3, sono mappe di tipi MIME di possibili target per tutte le importazioni o esportazioni supportate. - Gli alias
appdataeappfolderdella v2 ora sonoappDataFoldernella v3. - La risorsa
propertiesviene rimossa dalla v3. Lafilesrisorsa ha ilpropertiescampo che contiene coppie chiave-valore vere. Il campopropertiescontiene proprietà pubbliche e il campoappPropertiescontiene proprietà private, quindi il campo di visibilità non è necessario. - Il campo
modifiedTimenella risorsafilesaggiorna l'ultima volta che qualcuno ha modificato il file. Nella v2, il campomodifiedDateera modificabile solo durante l'aggiornamento se impostavi il camposetModifiedDate. - Il campo
viewedByMeTimenella risorsafilesnon viene aggiornato automaticamente. - Per importare i formati di Documenti Google, imposta il
mimeTypedi destinazione appropriato nel corpo della risorsa. Nella v2, imposta?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
meper le autorizzazioni viene rimosso. - Alcune funzionalità erano disponibili come parte della risorsa della richiesta, ma ora sono disponibili come parametro della richiesta. Ad esempio:
- Nella v2, puoi utilizzare
children.deleteper rimuovere un file secondario da una cartella principale. - Nella v3, utilizza
files.updatesul file secondario con?removeParents=parent_idnell'URL.
- Nella v2, puoi utilizzare
Altre differenze
I nomi dei campi e dei parametri sono diversi nella v3. Ecco alcuni esempi:
- La proprietà
namesostituiscetitlenella risorsafiles. Timeè il suffisso per tutti i campi di data e ora anzichéDate.- Le operazioni di elenco non utilizzano il campo
itemsper contenere il set di risultati. Il tipo di risorsa fornisce un campo per i risultati (ad esempiofilesochanges).