Отслеживайте изменения для пользователей и общих дисков

Для приложений Google Диска, которым необходимо отслеживать изменения объектов на Диске, коллекция «Изменения» обеспечивает эффективный способ обнаружения изменений. Она предоставляет информацию о текущем состоянии каждого объекта только в том случае, если он был изменён с определённого момента времени.

Google Диск ведёт журнал изменений для каждого пользователя и общего диска. У каждого пользователя есть свой журнал изменений в интересующих его элементах.

Чтобы отслеживать изменения для всех элементов, видимых пользователю, необходимо воспроизвести как журнал изменений пользователя, так и журналы изменений для всех общих дисков, участником которых является пользователь.

Включить запись изменений

Запись об изменении отображает состояние файла или общего диска на определённый момент времени. Изменение не отображает разницу между версиями. Приложения, которым необходимо знать, какие свойства изменились, должны сохранять ранее известное состояние элемента и сравнивать его.

Поскольку изменения отражают текущее состояние элемента, отдельные записи об изменениях могут быть признаны недействительными и заменены более новой записью об изменениях для соответствующего элемента.

Надгробия

Записи об изменениях для элементов, которые больше не доступны пользователю, помечаются как deleted в записи об изменении. В записи об изменении доступен только идентификатор элемента.

Отслеживать общие поездки

У каждого общего диска есть свой журнал изменений. Даже если пользователь является участником общего диска, некоторые изменения отражаются только в журнале изменений общего диска, но никогда в журнале изменений пользователя. Если файл принадлежит общему диску, даже если он всё ещё присутствовал в журнале изменений пользователя в какой-то момент времени, воспроизведение только журнала изменений пользователя не приведёт к корректному обновлению статуса файла. Вместо этого необходимо воспроизвести журнал изменений общего диска, чтобы зафиксировать все изменения.

Что включено в журнал изменений пользователя

Журнал изменений пользователя включает изменения на общих дисках, участником которых он является, а также изменения в файлах в корпусе пользователя. Подробнее о корпусах см. в разделе Обзор изменений и редакций .

Эти изменения общего диска отображаются в журнале изменений пользователя:

  • Пользователь становится участником общего диска.
  • Пользователь больше не является участником общего диска.
  • Произошло непосредственное изменение общего диска, участником которого является пользователь, например:
    • Уровень доступа пользователя на этом общем диске изменился.
    • Общий диск переименован.

Когда пользователь становится участником общего диска, в журнале изменений пользователя появляется одно событие изменения для общего диска. Это подразумевает доступ ко всем элементам на общем диске. Пользователь не получает изменения для элементов, содержащихся на общем диске, когда становится участником.

Участники общего диска могут видеть события изменения элементов на общем диске в зависимости от их использования. Однако приложения не должны полагаться на эти события, если пользователь является участником общего диска. Вместо этого используйте журнал изменений общего диска для отслеживания изменений.

Если пользователю, не являющемуся участником, предоставлен доступ к файлам отдельных объектов на общем диске, изменения в этих объектах отслеживаются в журнале изменений пользователя. Это аналогично журналам изменений в объектах на Диске, к которым пользователи имеют прямой доступ.

Изменения, которые появляются в журнале изменений общего диска

Если пользователь является участником общего диска, он может получить доступ к журналу изменений этого общего диска, который содержит:

  • Любые изменения в самом общем диске, такие как добавление или удаление участника
  • Прямые изменения элементов, содержащихся на общем диске.

Синхронизация разрешений и возможностей

Изменения разрешений для общего диска или элементов на общем диске отражаются только на самом элементе. Хотя все прямые или косвенные дочерние элементы этого элемента унаследуют это изменение, в журнале изменений не будет отдельной записи для каждого из них. Клиентам необходимо либо распространить новые возможности, либо повторно загрузить каждый элемент, если родительский элемент изменился, чтобы полностью восстановить изменения.