跟踪用户和共享云端硬盘的更改

对于需要跟踪云端硬盘中的内容更改的 Google 云端硬盘应用,“更改”集合提供了一种高效检测更改的方法。当且仅当项自给定时间点以来发生了更改时,集合的工作原理是提供每个项的当前状态。

Google 云端硬盘会为每位用户和共享云端硬盘保留一份更新日志。每个项都有自己的相关项的更改记录。

如需跟踪用户可见的所有项的更改,用户更新日志和用户所属的所有共享云端硬盘的更改日志都需要重放。

启用更改条目

变更条目表示文件或共享云端硬盘在给定时间点的状态。更改不会在修订版本之间提供增量。需要知道哪些属性已更改的应用应保留该项先前已知的状态并进行比较。

由于更改体现了项目的当前状态,因此各个更改条目可能会失效,并替换为相应项目的新更改条目。

Tombstone

在变更条目中,不再向用户提供的项的更改条目在变更条目中标记为 deleted。更改条目中仅提供相应项的 ID。

跟踪共享云端硬盘

每个共享云端硬盘都有自己的更新日志。即使用户可能是共享云端硬盘的成员,某些更改也只会反映在共享云端硬盘更改日志中,而不会反映在用户的更新日志中。如果文件属于某个共享云端硬盘,即使该文件在过去某个时间点仍显示在用户的更新日志中,仅重放用户的更改日志也无法正确更新文件的状态。您必须重放共享云端硬盘的更新日志,才能捕获所有更改。

用户变更日志包含的内容

用户的更新日志包含对其所属的共享云端硬盘的更改,以及对用户资料库中文件的更改。如需详细了解语料库,请参阅变更和修订版本概览

以下共享云端硬盘更改会显示在用户的更新日志中:

  • 该用户将成为共享云端硬盘的成员。
  • 该用户已不再是共享云端硬盘的成员。
  • 用户是其成员的共享云端硬盘存在直接相关的更改,例如:
    • 用户在该共享云端硬盘中的访问权限级别发生了变化。
    • 共享云端硬盘已重命名。

用户成为共享云端硬盘的成员后,共享云端硬盘的单个更改事件会显示在用户的更改日志中。这意味着可以访问共享云端硬盘中的所有内容。用户成为共享云端硬盘的成员后,不会收到对共享云端硬盘所含内容的更改。

共享云端硬盘成员可能会根据使用情况看到其中内容的更改事件。但是,当用户是共享云端硬盘的成员时,应用不应依赖于这些事件。请改用共享云端硬盘的变更日志来跟踪更改。

如果非成员被授予了对共享云端硬盘中个别内容的文件访问权限,系统会在用户的更新日志中跟踪对这些内容所做的更改。这与直接与用户共享的非共享云端硬盘内容相同。

共享云端硬盘变更日志中显示的更改

如果用户是共享云端硬盘的成员,则可以访问该共享云端硬盘的更改日志,其中包括:

  • 对共享云端硬盘本身所做的任何更改,例如添加或移除成员
  • 直接更改共享云端硬盘中包含的项。

同步权限和功能

对共享云端硬盘的权限更改或对共享云端硬盘中的内容的更改只会反映在内容本身上。虽然该项的所有直接或间接子项都将继承此更改,但在其中每个项的变更日志中都不会有单独的条目。如果父级发生了更改,客户端必须传播新功能或重新获取每一项,才能完全重建这些更改。