Google Drive SDK - 上传/同步时检查etag

时间:2013-03-30 20:44:12

标签: synchronization google-drive-api data-synchronization

我正在尝试在本地文件夹和远程Google云端硬盘之间实现文件同步。经典问题是同时对双方进行一些修改。因此,当我在本地更新文件时,我必须确保在执行上传之前未在Google云端硬盘上修改文件,以便我可以管理冲突。关于Google Drive SDK,我有多种方法可以检测到:

  • 在上传之前下载文件元数据,以检查自上次上传以来etag是否未更改。
  • 定期使用更改Feed并以解除关联的方式检查文件etags。
谷歌似乎特权第二种选择。但是对于它们两者,没有办法确保在上载时文件没有被修改。基本上,我需要一个原子上传操作:

  1. 检查etag是否与上次更新相同。如果没有抛出错误。
  2. 如果可以,请更新上传的文件
  3. 有没有办法做到这一点?

    由于

1 个答案:

答案 0 :(得分:1)

如果您在PUT请求中向HTTP标头添加If-Match,则应拒绝过期版本并回复错误。

If-Match: "S0wCTlpIIip7ImA0X0QI"