Cómo migrar desde la API de actividad de Drive versión 1

Stay organized with collections Save and categorize content based on your preferences.

En esta guía, se explican las diferencias entre las API de Google Drive Activity v1 y v2 y cómo cambiar tu aplicación de v1 para que sea compatible con la API v2.

Autorización

La API v1 usó este alcance:

  • https://www.googleapis.com/auth/activity

La API v2 requiere uno de los siguientes ámbitos:

  • https://www.googleapis.com/auth/drive.activity
  • https://www.googleapis.com/auth/drive.activity.readonly

Nombres de recursos

En la API v1, los identificadores para objetos como elementos de Google Drive y usuarios eran strings opacas. En la API v2, a estos objetos generalmente se les hace referencia mediante nombres de recursos. Para obtener más información, consulta la Guía de diseño de la API de Cloud.

Por lo general, estos identificadores se pueden convertir. Por ejemplo, se hace referencia a los elementos de Drive en la API v2 mediante el nombre de recurso items/ITEM_ID_V1.

Requests

El formato de solicitud para v2 es similar al de v1. En particular, aún puedes solicitar actividad para un archivo de Drive o un principal de Drive, aunque debes darles a los parámetros de solicitud como nombres de recursos con 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 Filter que te permiten restringir los tipos de datos de actividad que se muestran en la respuesta.

Acciones

En la API v1, el tipo de actividad y los datos asociados con esa actividad estaban en campos separados. Por ejemplo, si el campo primaryEventType contiene el valor move, las apps supondrán que un campo move de nivel superior se propaga con los elementos superiores agregados y quitados.

En la API v2, estos campos ya no son diferentes. El mensaje ActionDetail tiene exactamente un campo configurado. 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 agregados y quitados.

El campo primaryEventType de la API v1 corresponde de forma aproximada con el primaryActionDetail de la versión 2.

Actores

En la API v1, la actividad que se mostraba contenía un User si el actor era un usuario conocido y, de manera opcional, contenía un campo de nivel superior, como fromUserDeletion para casos especiales.

En la API v2, hay un conjunto más completo de tipos Actor disponible y user.knownUser se propaga cuando el actor es un usuario 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 v1, los objetivos siempre eran los elementos de Drive. En la API 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. Aún se muestra la carpeta raíz de una unidad compartida (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 el subproceso de comentarios de destino.

Actividad consolidada

En la API v1, el estilo de respuesta cambiaba cuando se configuraba una estrategia de consolidación ("agrupación"). En particular, 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. Cuando se desactivó la consolidación, el campo combinedEvent contenía el evento no consolidado original 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 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.