我有一個可以自動保存更改的谷歌驅動器應用程序。如果你有兩個活動會話,那麼他們會覆蓋對方。該應用程序支持合併更改,但我無法看到如何安全地將其與驅動器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