Guía de comparación de la API de Drive v2 y v3
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
La versión más reciente de la API de Google Drive es la v3. El rendimiento en la versión 3 es mejor porque las búsquedas solo devuelven un subconjunto de campos. Usa la versión actual, a menos que necesites la colección v2. Si usas la versión 2, considera migrar a la versión 3. Para migrar, consulta Migra a la API de Drive v3. Para obtener una lista completa de las diferencias entre las versiones, consulta la referencia de comparación de las APIs de Drive v2 y v3.
Si deseas seguir usando la versión 2, consulta la modificación de la Guía de la API de Drive v2 para obtener información sobre cómo se deben modificar algunas instrucciones de las guías de la versión 3 para los desarrolladores de la versión 2.
Para obtener más información sobre las mejoras de la versión 3 de la API de Drive, puedes mirar el siguiente video en el que los ingenieros de Google analizan el nuevo diseño de la API.
Mejoras en la versión 3
Para optimizar el rendimiento y reducir la complejidad del comportamiento de la API, la versión 3 proporciona las siguientes mejoras en comparación con la versión anterior de la API:
- Las búsquedas de archivos y unidades compartidas no devuelven recursos completos de forma predeterminada, sino solo un subconjunto de campos de uso común. Para obtener más detalles sobre
fields
, consulta el método files.list
y el método drives.list
.
- Ahora, casi todos los métodos que devuelven una respuesta requieren el parámetro
fields
. Para obtener una lista de todos los métodos que requieren fields
, consulta la
referencia de la API de Drive.
- Se quitaron los recursos que tienen capacidades duplicadas. Estos son algunos ejemplos:
- El método
files.list
cumple la misma función que las colecciones Children
y Parents
, por lo que se quitan de la versión 3.
- Se quitaron los métodos
Realtime.*
.
- Los datos de la app no se muestran de forma predeterminada en las búsquedas. En la versión 2, puedes establecer el alcance
drive.appdata
, y este devuelve datos de la aplicación desde el método files.list
y el método changes.list
, pero ralentiza el rendimiento. En la versión 3, estableces el alcance drive.appdata
y también el parámetro de consulta spaces=appDataFolder
para solicitar datos de la aplicación.
- Todas las operaciones de actualización usan PATCH en lugar de PUT.
- Para exportar documentos de Google, usa el método
files.export
.
- El comportamiento del método
changes.list
es diferente. En lugar de IDs de cambio, usa tokens de página opacos. Para sondear la recopilación de cambios, primero llama al método changes.getStartPageToken
para obtener el valor inicial. Para las consultas posteriores, el método changes.list
devuelve el valor newStartPageToken
.
- Los métodos de actualización ahora rechazan las solicitudes que especifican campos no grabables.
- Los campos
exportFormats
y importFormats
de la versión 2 del recurso about
son listas de formatos de importación o exportación permitidos. En la versión 3, son mapas de tipos de MIME de posibles destinos para todas las importaciones o exportaciones admitidas.
- Los alias
appdata
y appfolder
de la versión 2 ahora son appDataFolder
en la versión 3.
- El recurso
properties
se quitó de la versión 3. El recurso files
tiene el campo properties
que contiene pares clave-valor verdaderos. El campo properties
contiene propiedades públicas, y el campo appProperties
contiene propiedades privadas, por lo que no se necesita el campo de visibilidad.
- El campo
modifiedTime
del recurso files
se actualiza la última vez que alguien modificó el archivo. En la versión 2, el campo modifiedDate
solo se podía modificar en la actualización si configurabas el campo setModifiedDate
.
- El campo
viewedByMeTime
del recurso files
no se actualiza automáticamente.
- Para importar formatos de Documentos de Google, debes establecer el
mimeType
de destino adecuado en el cuerpo del recurso. En la versión 2, debes establecer ?convert=true
.
- Las operaciones de importación devuelven un error 400 si no se admite el formato.
- Los lectores y comentaristas no pueden ver los permisos.
- Se quitó el alias
me
para los permisos.
- Algunas funciones estaban disponibles como parte del recurso de solicitud, pero ahora están disponibles como un parámetro de solicitud. Por ejemplo:
- En la versión 2, puedes usar
children.delete
para quitar un archivo secundario de una carpeta principal.
- En la versión 3, se usa
files.update
en el elemento secundario con ?removeParents=parent_id
en la URL.
Otras diferencias
Los nombres de los campos y los parámetros son diferentes en la versión 3. Aquí encontrarás algunos ejemplos:
- La propiedad
name
reemplaza a title
en el recurso files
.
Time
es el sufijo para todos los campos de fecha y hora en lugar de Date
.
- Las operaciones de lista no usan el campo
items
para contener el conjunto de resultados. El tipo de recurso proporciona un campo para los resultados (como files
o changes
).
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-29 (UTC)
[null,null,["Última actualización: 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`)."]]