对于需要跟踪云端硬盘中项目更改的 Google 云端硬盘应用,Changes 集合提供了一种检测更改的有效方式。该集合通过提供每个商品的当前状态来发挥作用,前提是商品自给定时间点以来发生了变化。
Google 云端硬盘会为每个用户和共享云端硬盘保留一份更改日志。每个用户都有自己的记录,其中包含他们感兴趣的商品的更改。
如需跟踪用户可见的所有项目的更改,您需要重放用户更改日志以及用户所属的所有共享云端硬盘的更改日志。
启用更改条目
更改条目表示文件或共享云端硬盘在给定时间点的状态。更改不会提供修订版本之间的增量。需要知道哪些属性已更改的应用应保留之前已知的商品状态并进行比较。
由于更改表示商品的当前状态,因此单个更改条目可能会失效,并被相应商品的较新更改条目替换。
Tombstone
对于用户不再可用的商品的更改条目,系统会在更改条目中将其标记为 deleted
。更改条目中仅提供商品的 ID。
跟踪共享云端硬盘
每个共享云端硬盘都有自己的更改日志。即使某个用户是共享云端硬盘的成员,某些更改也只会反映在共享云端硬盘的更改日志中,而不会反映在用户的更改日志中。如果文件属于共享云端硬盘,即使该文件在过去某个时间点仍显示在用户的更改日志中,仅重放用户的更改日志也无法正确更新文件的状态。您必须重放共享云端硬盘的更改日志,才能捕获所有更改。
用户更改日志中包含哪些内容
用户的更改日志包含用户所属共享云端硬盘的更改,以及用户语料库中文件的更改。如需详细了解语料库,请参阅更改和修订版本概览。
以下共享云端硬盘变更会显示在用户的变更日志中:
- 用户成为共享云端硬盘的成员。
- 相应用户不再是共享云端硬盘的成员。
- 用户所属的共享云端硬盘发生了直接相关的更改,例如:
- 用户在该共享云端硬盘中的访问权限级别发生了变化。
- 共享云端硬盘已重命名。
当用户成为共享云端硬盘的成员时,该用户的更改日志中会显示一个与该共享云端硬盘相关的更改事件。这意味着用户可以访问共享云端硬盘中的所有内容。用户成为共享云端硬盘的成员后,不会收到该共享云端硬盘中包含的项目的更改通知。
共享云端硬盘的成员可能会根据自己的使用情况看到共享云端硬盘中项目的更改事件。不过,当用户是共享云端硬盘的成员时,应用不应依赖这些事件。请改用共享云端硬盘的更改日志来跟踪更改。
如果向非成员授予对共享云端硬盘中各个文件的访问权限,则系统会在相应用户的更改日志中跟踪对这些文件所做的更改。这与直接与用户共享的非共享云端硬盘内容相同。
共享云端硬盘更改日志中显示的更改
如果用户是共享云端硬盘的成员,则可以访问该共享云端硬盘的更改日志,其中包含:
- 对共享云端硬盘本身所做的任何更改,例如添加或移除成员
- 直接更改共享云端硬盘中包含的内容。
同步权限和功能
对共享云端硬盘或共享云端硬盘中的内容所做的权限更改只会反映在相应内容本身上。虽然相应项的所有直接或间接子项都会继承此变更,但这些子项不会在变更日志中单独列出。如果父项发生了更改,客户端必须传播新功能或重新提取每个项,才能完全重构更改。