Question

Does dropbox have a way of notifying when a file changes i.e arrival of new uploads or a file has changed.

Was it helpful?

Solution

As Kannan points out, there's a new API endpoint called /delta that's better than polling or RSS.

This can also be used in conjunction with the /longpoll_delta API endpoint :

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.

OTHER TIPS

Though you will still have to poll, there's a relatively new API endpoint called /delta that will let you poll much more efficiently than the /metadata endpoint.

It's better than using the RSS feed.

This delta API can be called to get sync

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

Dropbox recently announced WebHooks!

If you're interested in helping us out, just click through to fill out your information, and we'll be in touch:

Happy Dropboxing!

If you have a computer with Dropbox installed that is always on, you can set a script to run whenever Dropbox pops up a change notification. That script could then grab the change log using RSS (or the /delta API) and if the file/directory you're interested has changed, send a notification.

On Mac, Dropbox can send notifications to Growl and you can tell Growl to run your script. On Windows you will need to monitor for Notifications in the system tray using something like gTraySpy. Growl for Windows can do this if you install the Windows Balloons plugin.

As long as you can get a script to run when a change has occurred, it's just a matter of parsing the change log and performing an action when certain item(s) have changed.

Though Dropbox's delta API is used to get a list of all the modified file details, a webhook is what one needs to get notified about a change (change being modification, addition or deletion of a file)

  1. Go to: Dropbox Developer App Console
  2. Click on your App that contains the files whose changes you want to be notified.
  3. Scroll down to "WEBHOOK"
  4. Paste the link that will handle the notifications via POST method.
  5. Click ENABLE.

Moment you click enable, the dropbox sends a request to the link you entered to see if it responds to the GET request or not. You need to make sure that the link does respond to it. If working with Python and Flask frame work, following two lines of code is sufficient:

@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')

Now you will be notified via POST to the above link every time a change is made to dropbox. Deal with the notifications the way you want to. :)

Dropbox SYNC API is the way to go

DBPath *path = [DBPath root];
[fileSystem addObserver:self forPathAndChildren:path block:^() {
        NSLog(@"something changed in your dropbox folder!");
    }];
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top