我有一个可以自动保存更改的谷歌驱动器应用程序。如果你有两个活动会话,那么他们会覆盖对方。该应用程序支持合并更改,但我无法看到如何安全地将其与驱动器API集成。有些选项我已考虑:如何使用Google Drive API同步冲突的更改
版安全承诺
- 使用谷歌驱动器“仅更新,如果在驱动电流修订== X否则失败”
如果失败则获取最新版本,合并并重试
问题:我不认为驱动器支持这一点。以前的API版本使用了etags,但在当前的文档中我没有看到这一点。
提交前的检查
- 检查当前保存的版本,如果仍然电流,节省
否则下载,合并和更新
问题:明显的竞争条件客户之间
提交后检查
- 保存新版本
- 如果如预期的新版本:完成
如果新版本高于预期:下载以前的版本,合并和更新
问题:我没有太多的信心,这是安全的。我可以看到多个客户端进入编辑循环。
谷歌的实时API - 场结合
与谷歌RT数据模型替换文件格式
问题:这需要只是谷歌-RT
重新设计
谷歌的实时API - 文档支持
使用谷歌API的RT外部文档支持
问题:我不认为这解决了问题
我真的很想获得#1的方法,但任何建议都会有所帮助。我很满意客户端之间的基本锁定/切换方案,但我认为Drive也不支持这种方案。
什么是你改变文件,即MIME类型。它是一种本地谷歌类型,如文档或电子表格,还是它自己的文件类型,如HTML或专有? – pinoyyid 2014-11-04 09:28:34
它是一种专有格式 - 目前用json编码,但可能变成二进制。 – daw 2014-11-05 07:08:30