ios - 与 Dropbox Core API 同步

标签 ios dropbox-api

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

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

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

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

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

最佳答案

这是一个相对广泛的问题,具体情况在很大程度上取决于每个应用程序。 Dropbox 不提供像这样实现同步的一般指南,但我会尝试指出一些有用的资源。

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

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

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

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

要了解远程发生了什么变化,您可以使用/delta(iOS Core SDK 中的 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 是开源的,因此您可以根据需要对其进行修改。

关于ios - 与 Dropbox Core API 同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30787574/

相关文章:

iphone - iOS "CABasicAnimation"动画完成后将组件带到原始位置

ios - SQLCipher + DB 性能在 iOS 设备上很差

java - Dropbox api 获取以前的文件版本预览 url

java - 对 Dropbox API 的使用感到困惑

java - 使用 Dropbox Java API 将文件上传到 Dropbox

ios - 如何将文件上传到 Dropbox ios

iphone - 如何缩小智能手机上平板电脑的网站 build ?

iphone - 为什么我的 NSArray intValue 没有按预期工作?

ios - Clang GCC 扩展 - 括号中的 block 返回一个值

javascript - 通过node js上传到dropbox失败