La versión más reciente de la API de Google Drive es la 3. 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 v2, considera migrando a la versión 3. Para ello, consulta Migra a la API de Drive v3. Para obtener una lista completa de las diferencias entre versiones, consulta la comparación de las API de Drive v2 y v3 referencia.
Si quieres seguir usando la v2, consulta la enmienda de la Guía para la API de Drive v2 para conocer algunas instrucciones de la v3. las guías se deben modificar para los desarrolladores de la versión 2.
Para obtener más información sobre las mejoras de la API de Drive v3, puedes mirar el video de ingenieros de Google sobre el nuevo diseño de API.
Mejoras de V3
Para optimizar el rendimiento y reducir la complejidad del comportamiento de la API, la v3 proporciona estas mejoras con respecto a la versión anterior de la API:
- Las búsquedas de archivos y unidades compartidas no devuelven recursos completos
solo se devuelve un subconjunto
de campos de uso común. Para obtener más detalles
fields
; consulta el métodofiles.list
y el métododrives.list
. - Casi todos los métodos que muestran una respuesta ahora requieren
fields
. parámetro. Para obtener una lista de todos los métodos que requierenfields
, consulta el Referencia de la API de Drive. - Se quitaron los recursos con capacidades duplicadas. Estos son algunos ejemplos:
- El método
files.list
logra la misma funcionalidad queChildren
yParents
, por lo que se quitarán de la versión 3. - Se quitaron los métodos
Realtime.*
.
- El método
- Los datos de apps no se muestran de forma predeterminada en las búsquedas. En la v2, puedes establecer la
Permiso
drive.appdata
y muestra datos de aplicación desde elfiles.list
ychanges.list
de imágenes, pero ralentiza el rendimiento. En la v3, configuras el permisodrive.appdata
, y configura el parámetro de consultaspaces=appDataFolder
para que solicite datos de aplicaciones. - Todas las operaciones de actualización usan PATCH en lugar de PUT.
- Para exportar documentos de Google, usa el
files.export
. - El comportamiento del método
changes.list
es diferente. En lugar de cambiar los IDs, usa tokens de página opaca. Para sondear la colección de cambios, primero llama alchanges.getStartPageToken
método para el valor inicial. Para consultas posteriores,changes.list
El método muestra el valornewStartPageToken
. - Los métodos de actualización ahora rechazan las solicitudes que especifican campos que no admiten escritura.
- Los campos
exportFormats
yimportFormats
de la v2 en laabout
recurso son listas de formatos de importación o exportación permitidos. En la v3, son mapas de tipos MIME de destinos posibles a todas las importaciones o exportaciones admitidas. - Los alias
appdata
yappfolder
de la v2 ahora sonappDataFolder
en la v3. - Se quitó el recurso
properties
de la v3. El El recursofiles
tiene el campoproperties
que contenga pares clave-valor verdaderos. El campoproperties
contiene datos y el campoappProperties
contiene propiedades privadas, por lo que el campo de visibilidad. - El campo
modifiedTime
del recursofiles
actualiza la última vez si cualquiera hubiera modificado el archivo. En la versión 2, el campomodifiedDate
solo era mutable cuando se actualice si estableces el camposetModifiedDate
. - El campo
viewedByMeTime
del recursofiles
no se actualiza actualización. - Para importar formatos de Documentos de Google, debes establecer el destino adecuado
mimeType
en el cuerpo del recurso. En la versión 2, configuras?convert=true
. - Las operaciones de importación muestran un error 400 si el formato no es compatible.
- Los lectores y comentaristas no pueden ver los permisos.
- Se quitó el alias
me
para los permisos. - Algunas funcionalidades estaban disponibles como parte del recurso de solicitud, pero están
en su lugar, están disponibles
como un parámetro de la solicitud. Por ejemplo:
- En la v2, puedes usar
children.delete
para quitar un archivo secundario de un carpeta superior. - En la v3, usas
files.update
en el elemento secundario con?removeParents=parent_id
en la URL.
- En la v2, puedes usar
Otras diferencias
Los campos y los nombres de los parámetros son diferentes en la v3. Aquí encontrarás algunos ejemplos:
- La propiedad
name
reemplaza atitle
en el recursofiles
. Time
es el sufijo de todos los campos de fecha y hora, en lugar deDate
.- Las operaciones de lista no usan el campo
items
para contener el conjunto de resultados. El proporciona un campo para los resultados (comofiles
ochanges
).