En esta guía, se explican las diferencias entre las versiones 1 y 2 de la API de Actividad de Google Drive, y cómo cambiar tu aplicación de la versión 1 para que admita la API de la versión 2.
Autorización
La API de v1 usaba este permiso:
https://www.googleapis.com/auth/activity
La API de v2 requiere uno de los siguientes permisos:
https://www.googleapis.com/auth/drive.activity
https://www.googleapis.com/auth/drive.activity.readonly
Nombres de recursos
En la API de la versión 1, los identificadores de objetos como los elementos y los usuarios de Google Drive eran cadenas opacas. En la API de v2, por lo general, se hace referencia a estos objetos con nombres de recursos. Para obtener más información, consulta la Guía de diseño de APIs de Cloud.
Por lo general, estos identificadores se pueden convertir. Por ejemplo, a los elementos de Drive en la API de v2 se hace referencia con el nombre del recurso items/ITEM_ID_V1
.
Solicitudes
El formato de la solicitud para la versión 2 es similar al de la versión 1. Específicamente, puedes solicitar actividad para un archivo de Drive o un ancestro de Drive, aunque debes dar formato a esos parámetros de solicitud como nombres de recursos agregándoles el prefijo items/
.
"Agrupación" ahora se llama Consolidación, y se quitaron los parámetros de solicitud source
y userId
.
También hay nuevas opciones de Filtro que te permiten restringir los tipos de datos de actividad que se muestran en la respuesta.
Acciones
En la API de v1, el tipo de actividad y los datos asociados con esa actividad estaban en campos separados. Por ejemplo, si el campo primaryEventType
contuviese el valor move
, las apps darían por sentado que un campo move
de nivel superior se propaga con los elementos superiores agregados y quitados.
En la API de v2, estos campos ya no son distintos. El mensaje ActionDetail
tiene exactamente un campo establecido. Indica el tipo de acción y contiene los detalles asociados con esa acción. Por ejemplo, un ActionDetail
que representa un movimiento solo establece el campo move
, y ese campo enumera los elementos superiores agregados y quitados.
El campo primaryEventType
de la API de v1 corresponde aproximadamente al primaryActionDetail
de v2.
Actors
En la API de v1, la actividad que se muestra contenía un User
si el usuario era conocido y, de manera opcional, un campo de nivel superior, como fromUserDeletion
, para casos especiales.
En la API de v2, hay disponible un conjunto más rico de tipos de Actor
, y user.knownUser
se propaga cuando el usuario es conocido. Si
tu aplicación necesita información detallada sobre los usuarios, puede consultarla desde
la API de People pasando el campo KnownUser
personName
al
método people.get
.
Destinos
En la API de la versión 1, los destinos siempre eran elementos de Drive. En la API de v2,
los objetivos pueden ser otros tipos de objetos en Drive. Por ejemplo, los cambios en una unidad tienen un tipo de destino de Drive
. La carpeta raíz de una unidad compartida se sigue mostrando (como un DriveItem
en el campo root
), pero no es el destino inmediato de la actividad. Un concepto similar se aplica a un recurso FileComment
, cuyo campo parent
hace referencia al elemento de Drive que contiene la conversación de comentarios objetivo.
Actividad consolidada
En la API de v1, el estilo de respuesta cambiaba cuando se establecía una estrategia de consolidación (“agrupación”). Específicamente, cuando se activó la consolidación, cada actividad contenía el singleEvents
constituyente y un combinedEvent
que resumía la actividad común entre esos eventos constituyentes. Cuando se desactivaba la consolidación, el campo combinedEvent
contenía el evento original no consolidado para cada actividad. Cualquiera de estos eventos podría representar más de una acción, como una creación junto con un uso compartido.
En la API de v2, el estilo de respuesta no cambia según la estrategia de consolidación, ya que el DriveActivity
que se muestra siempre contiene el conjunto completo de actores, objetivos y acciones.