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

Для приложений Google Drive, которым необходимо отслеживать изменения элементов в Диске, коллекция Changes предоставляет эффективный способ обнаружения изменений. Коллекция работает, предоставляя текущее состояние каждого элемента только в том случае, если элемент изменился с момента определенного момента времени.

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

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

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

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

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

Надгробные камни

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

Отслеживание общих дисков

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

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

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

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

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

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

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

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

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

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

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

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

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