Guida al confronto tra API Drive v2 e v3
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
L'ultima versione dell'API Google Drive è la v3. Le prestazioni nella v3 sono migliori perché
le ricerche restituiscono solo un sottoinsieme di campi. Utilizza la versione attuale, a meno che tu non abbia bisogno
della raccolta v2. Se utilizzi la v2, valuta la possibilità di eseguire la migrazione alla v3. Per eseguire la migrazione, consulta Migrazione all'API Drive v3. Per un elenco completo delle differenze tra le versioni, consulta il riferimento al confronto tra le API Drive v2 e v3.
Se vuoi continuare a utilizzare la v2, consulta l'emendamento alla Guida all'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 versione 3 offre i seguenti
miglioramenti rispetto alla versione precedente dell'API:
- Le ricerche di file e Drive condivisi non restituiscono risorse complete per impostazione predefinita,
ma solo un sottoinsieme di campi di uso comune. Per maggiori dettagli su
fields
, consulta il metodo files.list
e il metodo drives.list
.
- Quasi tutti i metodi che restituiscono una risposta ora richiedono il parametro
fields
. Per un elenco di tutti i metodi che richiedono fields
, consulta il
Riferimento API Drive.
- Le risorse con funzionalità duplicate sono state rimosse. Alcuni esempi:
- Il metodo
files.list
svolge la stessa funzione delle raccolte
Children
e Parents
, pertanto vengono rimosse dalla versione 3.
- I metodi
Realtime.*
sono stati rimossi.
- Per impostazione predefinita, i dati delle app non vengono restituiti nelle ricerche. Nella versione 2, puoi impostare l'ambito
drive.appdata
e restituisce i dati dell'applicazione dal metodo files.list
e dal metodo changes.list
, ma rallenta le prestazioni. Nella v3, imposti l'ambito drive.appdata
e anche il parametro di query spaces=appDataFolder
per richiedere i dati dell'applicazione.
- Tutte le operazioni di aggiornamento utilizzano PATCH anziché PUT.
- Per esportare i documenti Google, utilizza il metodo
files.export
.
- Il comportamento del metodo
changes.list
è diverso. Anziché ID di modifica, utilizza
token di pagina opachi. Per eseguire il polling della raccolta delle modifiche, chiama prima il metodo
changes.getStartPageToken
per il valore iniziale. Per le query successive, il metodo changes.list
restituisce il valore newStartPageToken
.
- I metodi di aggiornamento ora rifiutano le richieste che specificano campi non scrivibili.
- I campi
exportFormats
e importFormats
v2 nella risorsa
about
sono elenchi di
formati di importazione o esportazione consentiti. Nella versione 3, sono mappe dei tipi MIME dei possibili target per tutte le importazioni o esportazioni supportate.
- Gli alias v2
appdata
e appfolder
ora sono appDataFolder
nella versione 3.
- La risorsa
properties
viene rimossa dalla versione 3. La risorsa
files
ha il campo properties
che contiene coppie chiave-valore vere. Il campo properties
contiene proprietà pubbliche e il campo appProperties
contiene proprietà private, pertanto il campo della visibilità non è necessario.
- Il campo
modifiedTime
nella risorsa files
aggiorna l'ultima volta
che qualcuno ha modificato il file. Nella v2, il campo modifiedDate
era modificabile
durante l'aggiornamento solo se impostavi il campo setModifiedDate
.
- Il campo
viewedByMeTime
nella risorsa files
non viene aggiornato automaticamente.
- 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 viene rimosso.
- Alcune funzionalità erano disponibili come parte della risorsa della richiesta, ma sono
invece disponibili come parametro della richiesta. Ad esempio:
- Nella versione 2, puoi utilizzare
children.delete
per rimuovere un file secondario da una
cartella principale.
- Nella versione 3, utilizzi
files.update
sul bambino con
?removeParents=parent_id
nell'URL.
Altre differenze
I nomi dei campi e dei parametri sono diversi nella versione 3. Ecco alcuni esempi:
- La proprietà
name
sostituisce title
nella risorsa files
.
Time
è il suffisso per tutti i campi di data e ora anziché Date
.
- Le operazioni di elenco non utilizzano il campo
items
per contenere il set di risultati. Il tipo di risorsa fornisce un campo per i risultati (ad esempio files
o
changes
).
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-08-29 UTC.
[null,null,["Ultimo aggiornamento 2025-08-29 UTC."],[],[],null,["# Drive API v2 and v3 comparison guide\n\nThe latest Google Drive API version is v3. The performance in v3 is better because\nsearches only return a subset of fields. Use the current version unless you need\nthe [v2](/workspace/drive/api/v2/reference) collection. If you're using v2, consider\nmigrating to v3. To migrate, see [Migrate to Drive API v3](/workspace/drive/api/guides/migrate-to-v3). For a complete list of version differences, see\nthe [Drive API v2 and v3 comparison\nreference](/workspace/drive/api/guides/v2-to-v3-reference).\n\nIf you want to continue to use v2, see the [Guide to Drive API v2](/workspace/drive/api/guides/v2-guide) amendment to learn how some instructions in the v3\nguides must be amended for v2 developers.\n\nTo learn more about Drive API v3 improvements, you can watch the\nfollowing video by Google engineers discussing the new API design. \n\nV3 improvements\n---------------\n\nTo optimize performance and reduce API behavior complexity, v3 provides these\nimprovements over the previous API version:\n\n- Searches for files and shared drives don't return full resources by default, only a subset of commonly used fields gets returned. For more details on `fields`, see the [`files.list`](/workspace/drive/api/v3/reference/files/list) method and the [`drives.list`](/workspace/drive/api/v3/reference/drives/list) method.\n- Almost all methods that return a response now require the `fields` parameter. For a list of all methods requiring `fields`, see the [Drive API reference](/workspace/drive/api/v3/reference).\n- Resources that have duplicate capabilities were removed. Some examples:\n - The `files.list` method accomplishes the same functionality as the `Children` and `Parents` collections, so they're removed from v3.\n - The `Realtime.*` methods have been removed.\n- App Data isn't returned by default in searches. In v2, you can set the `drive.appdata` scope, and it returns application data from the `files.list` method and the [`changes.list`](/workspace/drive/api/v2/reference/changes/list) method, but it slows performance. In v3, you set the `drive.appdata` scope, and also set the query parameter `spaces=appDataFolder` to request application data.\n- All update operations use PATCH instead of PUT.\n- To export Google Documents, use the [`files.export`](/workspace/drive/api/v2/reference/files/export) method.\n- The `changes.list` method behavior is different. Instead of change IDs, use opaque page tokens. To poll the change collection, first call the [`changes.getStartPageToken`](/workspace/drive/api/v2/reference/changes/getStartPageToken) method for the initial value. For subsequent queries, the `changes.list` method returns the `newStartPageToken` value.\n- Update methods now reject requests that specify non-writable fields.\n- The v2 `exportFormats` and `importFormats` fields in the [`about`](/workspace/drive/api/reference/rest/v3/about) resource are lists of allowable import or export formats. In v3, they're MIME type maps of possible targets to all supported imports or exports.\n- The v2 `appdata` and `appfolder` aliases are now `appDataFolder` in v3.\n- The `properties` resource is removed from v3. The [`files`](/workspace/drive/api/v3/reference/files) resource has the `properties` field that contains true key-value pairs. The `properties` field contains public properties, and the `appProperties` field contains private properties, so the visibility field isn't needed.\n- The `modifiedTime` field in the `files` resource updates the last time anyone modified the file. In v2, the `modifiedDate` field was only mutable on update if you set the `setModifiedDate` field.\n- The `viewedByMeTime` field in the `files` resource doesn't automatically update.\n- To import Google Docs formats, you set the appropriate target `mimeType` in the resource body. In v2, you set `?convert=true`.\n- Import operations return a 400 error if the format isn't supported.\n- Readers and commenters can't view permissions.\n- The `me` alias for permissions is removed.\n- Some functionality was available as part of the request resource but is instead available as a request parameter. For example:\n - In v2, you can use `children.delete` to remove a child file from a parent folder.\n - In v3, you use`files.update` on the child with `?removeParents=parent_id` in the URL.\n\nOther differences\n-----------------\n\nFields and parameter names are different in v3. Some examples include:\n\n- The `name` property replaces `title` in the `files` resource.\n- `Time` is the suffix for all date and time fields instead of `Date`.\n- List operations don't use the `items` field to contain the result set. The resource type provides a field for the results (such as `files` or `changes`)."]]