Haz un seguimiento de los cambios de los usuarios y las unidades compartidas

En el caso de las apps de Google Drive que necesitan hacer un seguimiento de los cambios en los elementos de Drive, la colección Changes proporciona una forma eficiente de detectar cambios. La colección funciona proporcionando el estado actual de cada elemento, solo si el elemento cambió desde un momento determinado.

Google Drive mantiene un registro de cambios para cada usuario y unidad compartida. Cada uno tiene su propio registro de cambios en los elementos que le interesan.

Para hacer un seguimiento de los cambios en todos los elementos visibles para un usuario, se deben volver a reproducir tanto el registro de cambios del usuario como los registros de cambios de todas las unidades compartidas de las que el usuario es miembro.

Habilita las entradas de cambios

Una entrada de cambio representa el estado del archivo o de la unidad compartida en un momento determinado. Un cambio no proporciona un delta entre revisiones. Las aplicaciones que necesitan saber qué propiedades cambiaron deben conservar el estado conocido anteriormente del elemento y compararlo.

Dado que los cambios representan el estado actual de un elemento, las entradas de cambio individuales pueden invalidarse y reemplazarse por una entrada de cambio más reciente para el elemento correspondiente.

Tombstones

Las entradas de cambio de los elementos que ya no están disponibles para un usuario se marcan como deleted en la entrada de cambio. Solo el ID del elemento está disponible en la entrada de cambio.

Cómo hacer un seguimiento de las unidades compartidas

Cada unidad compartida tiene su propio registro de cambios. Aunque un usuario sea miembro de una unidad compartida, ciertos cambios solo se reflejan en el registro de cambios de la unidad compartida y nunca en el registro de cambios del usuario. Si un archivo pertenece a una unidad compartida, incluso si el archivo aún aparecía en el registro de cambios del usuario en algún momento del pasado, volver a reproducir solo el registro de cambios del usuario no actualizará correctamente el estado del archivo. En su lugar, debes volver a reproducir el registro de cambios de la unidad compartida para capturar todos los cambios.

Qué se incluye en el registro de cambios de un usuario

El registro de cambios de un usuario incluye los cambios en las unidades compartidas de las que es miembro, así como los cambios en los archivos del corpus del usuario. Para obtener más información sobre los corpus, consulta Descripción general de los cambios y las revisiones.

Estos cambios en las unidades compartidas aparecen en el registro de cambios del usuario:

  • El usuario se convierte en miembro de una unidad compartida.
  • El usuario ya no es miembro de una unidad compartida.
  • Se produce un cambio directamente relevante en una unidad compartida de la que el usuario es miembro, por ejemplo:
    • Cambió el nivel de acceso del usuario en esa unidad compartida.
    • Se cambiará el nombre de la unidad compartida.

Cuando un usuario se convierte en miembro de una unidad compartida, aparece un solo evento de cambio para la unidad compartida en el registro de cambios del usuario. Esto implica el acceso a todos los elementos de la unidad compartida. El usuario no recibe cambios de los elementos que contiene la unidad compartida cuando se convierte en miembro.

Los miembros de una unidad compartida pueden ver los eventos de cambio de los elementos de una unidad compartida según su uso. Sin embargo, las aplicaciones no deben depender de estos eventos cuando el usuario es miembro de la unidad compartida. En su lugar, usa el registro de cambios de la unidad compartida para hacer un seguimiento de los cambios.

Si se otorga acceso a un usuario que no es miembro a elementos individuales de una unidad compartida, los cambios en esos elementos se registran en el registro de cambios del usuario. Esto es lo mismo que los elementos de Drive no compartidos que se comparten directamente con los usuarios.

Cambios que aparecen en el registro de cambios de una unidad compartida

Si un usuario es miembro de una unidad compartida, puede acceder al registro de cambios de esa unidad, que contiene lo siguiente:

  • Cualquier cambio en la unidad compartida, como agregar o quitar un miembro
  • Cambios directos en los elementos que contiene la unidad compartida

Sincronización de permisos y capacidades

Cuando cambian los permisos en una unidad compartida o en un elemento dentro de una unidad compartida, Drive recorre la jerarquía de carpetas para actualizar los permisos efectivos de todos los elementos secundarios directos e indirectos que heredan el cambio. El registro de cambios registra una entrada independiente para el elemento modificado y para cada descendiente afectado. Las aplicaciones cliente reciben entradas de registro de cambios individuales de changes.list y no necesitan propagar manualmente las capacidades ni volver a recuperar los elementos secundarios.