25

Dropbox 是否有办法在文件更改时发出通知,即新上传到达或文件已更改。

4

9 回答 9

31

尽管您仍然需要轮询,但有一个相对较新的 API 端点/delta,它可以让您比端点更有效地进行轮询/metadata

这比使用 RSS 提要更好。

于 2012-06-08T04:51:05.717 回答
25

正如 Kannan 所指出的,有一个新的 API 端点,称为/delta比轮询或 RSS 更好。

这也可以与/longpoll_deltaAPI 端点一起使用:

A long-poll endpoint to wait for changes on an account. In conjunction 
with /delta, this call gives you a low-latency way to monitor an account 
for file changes.
于 2012-03-09T11:40:18.017 回答
6

Dropbox 现在正式提供 Webhooks https://www.dropbox.com/developers/blog/90/announcing-dropbox-webhooks

于 2014-05-14T17:34:22.937 回答
6

可以调用这个 delta API 来获取同步

http://forums.dropbox.com/topic.php?id=53533

于 2012-07-06T21:07:18.173 回答
6

Dropbox 最近发布了 WebHooks!

如果您有兴趣帮助我们,只需点击填写您的信息,我们将与您联系:

快乐 Dropboxing!

于 2014-02-19T20:41:08.843 回答
1

如果您有一台安装了 Dropbox 且始终处于开启状态的计算机,您可以设置脚本以在 Dropbox 弹出更改通知时运行。然后,该脚本可以使用 RSS(或 /delta API)获取更改日志,如果您感兴趣的文件/目录已更改,则发送通知。

在 Mac 上,Dropbox 可以向 Growl 发送通知,您可以告诉 Growl 运行您的脚本。在 Windows 上,您需要使用gTraySpy之类的工具来监视系统托盘中的通知。如果您安装了Windows Balloons插件,Windows 版的 Growl 可以做到这一点。

只要您可以在发生更改时运行脚本,只需解析更改日志并在某些项目发生更改时执行操作即可。

于 2013-01-16T04:57:49.793 回答
1

虽然 Dropbox 的 delta API 用于获取所有已修改文件详细信息的列表,但需要通过 webhook 获取有关更改的通知(更改是修改、添加或删除文件)

  1. 前往:Dropbox 开发者应用控制台
  2. 单击包含要通知其更改的文件的应用程序。
  3. 向下滚动到“WEBHOOK”
  4. 粘贴将通过 POST 方法处理通知的链接。
  5. 单击启用。

在您单击启用的那一刻,保管箱会向您输入的链接发送一个请求,以查看它是否响应 GET 请求。您需要确保链接确实响应它。如果使用 Python 和 Flask 框架,以下两行代码就足够了:

@app.route('/webhook', methods=['GET'])
def verify():
    '''Respond to the webhook verification (GET request) by echoing back the challenge parameter.'''

    return request.args.get('challenge')

现在,每次对 Dropbox 进行更改时,您都会通过 POST 收到上述链接的通知。以您想要的方式处理通知。:)

于 2014-11-12T08:22:00.433 回答
1

Dropbox 有一个新的 delta 长轮询端点:

https://www.dropbox.com/developers/blog/63/low-latency-notification-of-dropbox-file-changes

于 2014-04-10T14:37:27.403 回答
-1

Dropbox SYNC API是要走的路

DBPath *path = [DBPath root];
[fileSystem addObserver:self forPathAndChildren:path block:^() {
        NSLog(@"something changed in your dropbox folder!");
    }];
于 2013-03-24T15:22:24.643 回答