0

我查看了所有不同编程语言的所有 Simperium API 文档,但似乎找不到。从“.all”调用(例如)返回的数据是否有任何文档api.todo.all(:cv=>nil, :data=>false, :username=>false, :most_recent=>false, :timeout=>nil)

例如,这是一些返回的数据:

{"ccid"=>"10101010101010101010101010110101010",
"o"=>"M",
"cv"=>"232323232323232323232323232",
"clientid"=>"ab-123123123123123123123123",
"v"=>{
     "date"=>{"o"=>"+", "v"=>"2015-08-20T00:00:00-07:00"},
     "calendar"=>{"o"=>"+", "v"=>false},
     "desc"=>{"o"=>"+", "v"=>"<p>test</p>\r\n"},
     "location"=>{"o"=>"+", "v"=>"Los Angeles"},
     "id"=>{"o"=>"+", "v"=>43}
     },
"ev"=>1,
"id"=>"abababababababababababababab/10101010101010101010101010110101010"}

我可以仅从上下文或密钥名称中找出其中的一些,但其中很多是猜测和反复试验。与我有关的是“o”键返回的值。我假设“M”的值是修改,而“+”的值是添加。我也遇到过删除的“-”,最近才发现还有一个“!'-'”,它也是一个删除,但不知道它还有什么含义。“o”键可以返回哪些其他值?是否有其他可以返回但很少见的键/值?是否有文档详细说明可以返回的内容(这将是最有帮助的)?

如果这很重要,我正在使用 Ruby API,但我认为这是一个问题,如果得到回答,将对所有 API 都有帮助。

4

1 回答 1

0

您看到的响应是自给定存储桶历史某个时间点以来发生的所有更改的列表。在为空白的情况下cv,它会尝试获取完整的历史记录。

您可以在协议文档中找到一些详细信息,尽管它不完整并且专注于 WebSocket 消息语法(操作与 HTTP API 相同)。

v参数提供的信息是对更改之间的数据应用JSON-diff算法的结果。使用此差异信息,您可以在更改流入时以任何给定版本重建数据。

于 2017-07-29T02:39:53.150 回答