Google Doc重复条目同步问题

时间:2012-06-29 11:30:53

标签: google-docs-api

我正在研究将用户Google文档同步到本地数据库的c ++桌面应用程序。

应用程序通过发送HTTP请求将Google文档和电子表格检索到本地 (使用curl发送HTTP请求) 请求 https://docs.google.com/feeds/default/private/full

我们在此处保留数据库中的每个Google doc resource_id和其他元信息,以便进行下一次同步。

初始同步完成后,从下一次同步开始发送以下HTTP请求以获取唯一更新的资源

https://docs.google.com/feeds/default/private/full?updated-min=Value 这里updated-min是以前的XML updated-min值

此处处理标识Google文档的资源时,会根据以前保存的Google doc“resource-id”值进行更新。

如果当前和之前的“resource_id”(从数据库中检索)相同,则考虑更新为新的。由于根据Google Doc API,“resource_id”是Google doc的唯一标识符。

实际上响应应该只包含在“updated-min”时间之后修改的新/更新资源。

这个逻辑到目前为止(差不多一年)工作正常,现在突然在我们的数据库中看到相同Google文档的重复条目。 (注意它在Google云端硬盘推出后开始出现)。

同一个Google文档的所有重复条目都有不同的资源ID,因此我们将每个条目视为同一Google文档的重复条目中的新条目结果。

“resource_id”是用于识别资源唯一性的正确属性。

请您帮我们解决这个问题

此致 Subbi Reddy

1 个答案:

答案 0 :(得分:1)

字段resource_id是唯一标识存储在Google文档中的文件的字段,但是,您应该使用更改Feed来同步数据,而不是依赖updated-min值:

https://developers.google.com/google-apps/documents-list/#detecting_changes_to_resources

此外,最近发布的Drive API版本2实现了相同的功能,我建议更新您的应用以使用它而不是文档列表API:

https://developers.google.com/drive/manage-changes