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

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

Google 云端硬盘会为每位用户和共享云端硬盘保留一个更新日志。每个用户都有自己对其感兴趣的项目所做的更改记录。

如需跟踪用户可见的所有内容的更改,您需要重放用户更改日志以及用户所属的所有共享云端硬盘的更改日志。

启用更改条目

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

由于更改代表项的当前状态,因此单个更改条目可能会失效,并替换为相应项的较新更改条目。

Tombstone

在更改条目中,对于用户不再可用的项,更改条目会标记为 deleted。更改条目中仅包含项的 ID。

跟踪共享云端硬盘

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

用户的更新日志中包含的内容

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

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

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

当用户成为共享云端硬盘的成员后,用户的更新日志中会显示与该共享云端硬盘相关的单个更改事件。这意味着可以访问共享云端硬盘中的所有内容。用户成为成员后,不会收到共享云端硬盘中包含的内容的更改通知。

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

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

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

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

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

同步权限和功能

对共享云端硬盘或共享云端硬盘中内容的权限更改只会反映在内容本身上。虽然该项的所有直接或间接子项都会继承此更改,但更改日志中不会为这些项分别创建条目。如果父项发生更改,客户端必须传播新功能,或者重新提取每个项,以便完全重构更改。