2013-03-30 29 views
1

我试图在本地文件夹和遥远的Google Drive之间实现文件同步。经典问题是当两边同时进行一些修改时。因此,当我在本地更新文件时,在执行上传之前,我必须确保文件在Google Drive上未被修改,以便我可以管理冲突。关于Google Drive SDK,我有多种选项来检测:Google Drive SDK - 上传/同步时检查etag

  • 在上传之前下载文件元数据以检查自上次上载以来etag没有发生变化。
  • 定期使用更改订阅源并以解除关联的方式检查文件etags。

谷歌似乎特权第二个选项。但是对于他们来说,没有办法确定该文件在上传时未被修改。基本上,我需要一个原子上传操作:

  1. 检查etag是否与上次更新相同。如果不会引发错误。
  2. 如果正常,更新上传的文件

有没有办法做到这一点?

感谢

回答

1

如果添加和If-Match到您的HTTP标头在你的PUT请求,应当拒绝过时的版本,并与错误回应。

If-Match: "S0wCTlpIIip7ImA0X0QI" 
+0

很不错的!文档似乎没有提到这一点。非常感谢。 – benweet