与Dropbox Core API同步

时间:2015-06-11 17:31:26

标签: ios dropbox-api

我正在尝试使用Core API与Dropbox同步我的iOS应用的Documents目录。我只需要非常基本的同步功能,使Documents目录与App的Dropbox目录保持一致。

然而,我发现自己必须立即考虑硬同步问题,例如检查文件中的差异,找出如何确定本地目录是否需要更新,允许外部更改等。 - 非常先进的东西以及我认为Dropbox SDK会抽象出来的东西。

感觉我正在解决同步问题并重新发明轮子而不是专注于我的应用。

听起来我真正需要的是Sync API,但它已被弃用。

是否有使用Core API实现同步行为的指南,或者,如果没有,是否有实现与云服务同步的通用指南?

1 个答案:

答案 0 :(得分:0)

这是一个相对广泛的问题,具体细节将非常依赖于每个应用程序。 Dropbox没有像这样提供实现同步的一般指南,但我会尝试指出一些有用的资源。

首先,您可能希望使用iOS Core SDK(downloadtutorial)。或者,您可以直接针对Core API HTTP endpoints进行开发。

当您的应用在本地更改内容时,您需要上传相关文件的新版本。用于上传的Dropbox API端点提供了一些参数,可让您控制覆盖/冲突行为:

https://www.dropbox.com/developers/core/docs#files_put

我们建议您使用parent_rev,以避免意外覆盖,从而最终丢失数据。

要知道远程发生了哪些更改,您可以在iOS Core SDK中使用/ delta(loadDelta):

https://blogs.dropbox.com/developers/2013/12/efficiently-enumerating-dropbox-with-delta/

对于客户端应用程序,使用/ longpoll_delta是了解事情何时发生变化(即知道何时调用/ delta)的好方法:

https://blogs.dropbox.com/developers/2013/11/low-latency-notification-of-dropbox-file-changes/

该端点目前尚未在iOS Core SDK中实现,但SDK是开源的,因此您可以根据需要进行修改。