在Dropbox上更改文件时获取通知

时间:2012-03-09 11:36:34

标签: dropbox dropbox-api

dropbox是否有办法通知文件何时发生更改,即新上传文件的到达或文件是否已更改。

9 个答案:

答案 0 :(得分:31)

虽然您仍需要轮询,但有一个名为/delta的相对较新的API端点,可让您比/metadata端点更有效地进行轮询。

这比使用RSS提要更好。

答案 1 :(得分:24)

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

这也可以与/longpoll_delta API端点结合使用:

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.

答案 2 :(得分:6)

可以调用此delta API以获取同步

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

答案 3 :(得分:6)

答案 4 :(得分:5)

Dropbox最近宣布了WebHooks!

  

如果您有兴趣帮助我们,请点击填写   您的信息,我们会联系:

     

快乐Dropboxing!

答案 5 :(得分:1)

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

在Mac上,Dropbox可以向Growl发送通知,您可以告诉Growl运行您的脚本。在Windows上,您需要使用gTraySpy之类的内容监控系统托盘中的通知。如果您安装Windows Balloons插件,则Growl for Windows可以执行此操作。

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

答案 6 :(得分:1)

答案 7 :(得分:1)

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

  1. 转到:Dropbox Developer App Console
  2. 单击您的应用程序,其中包含要通知其更改的文件。
  3. 向下滚动到" WEBHOOK"
  4. 粘贴将通过POST方法处理通知的链接。
  5. 点击启用。
  6. 当您点击启用时,保管箱会向您输入的链接发送请求,以查看它是否响应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通知您上述链接。 以您希望的方式处理通知。 :)

答案 8 :(得分:-1)

Dropbox SYNC API是要走的路

DBPath *path = [DBPath root];
[fileSystem addObserver:self forPathAndChildren:path block:^() {
        NSLog(@"something changed in your dropbox folder!");
    }];