1

设想:

  • 我有多个浏览器客户端,它们的互联网连接从非常快到超慢不等。因此,他们可能看不到文档的相同状态。

  • 我正在使用Google 快捷方式文件,因为该文档实际上存储在数据库中。

  • 将文档保存到数据库是从客户端触发的。

问题:我如何知道哪个客户端获得了应该保存到数据库的最新文档?

4

1 回答 1

2

你是对的,你不能依赖任何特定的客户在特定时间是最新的。没有简单的方法来确定这一点,因为它可以在任何给定的时刻发生变化。(尽管您可以通过查看文档保存状态来确保在特定客户端中没有任何未保存的更改。)

您可以使用作为 Drive API 一部分的导出功能,而不是尝试根据客户端状态执行此操作,这将为您提供带有修订号的数据的有效快照,以便您可以跟踪您拥有的版本。

请注意,这是一个全新的功能,所以它还没有很好的记录。响应是一个带有 appId、修订号和包含文档的 json 版本的数据字段的 json 对象。对于在根目录中具有协作列表“list”和协作字符串“text”的文档,它看起来像这样:

{"appId":"788242802491","revision":17,
 "data":{"id":"root","type":"Map",
   "value":{
     "list":{"id":"gde9s8z5khjarls7o","type":"List","value":[]},
     "text":{"id":"gdef98qdhiq679af","type":"EditableString","value":"This is a test 2."}}}}
于 2013-07-16T18:50:43.600 回答