Dropbox API: Get Notified On File Events Without Polling - dropbox

I found this post on getting Notified when a file changes on dropbox. The problem is that the "/delta" API endpoint requires polling. I want instead to subscribe to events about file changes.
Ideally, I could subscribe to both "new file" and "file updated" events for a specific folder. I could then give dropbox a URL pointing to my own app that would be called when those events occurred. This is similar to how Twilio works. You can provide a URL to be POSTed to whenever your phone number receives a text message, and then your app can respond to POSTs to that URL however it wants. This seems like a much more elegant solution than polling -- is there any way to do it with the dropbox API?

UPDATE 6/5/2014
We actually have webhooks now: https://www.dropbox.com/developers/webhooks
(original reply below)
No, Dropbox doesn't support this.
BTW, the general term for the sort of notification you describe is a "webhook."

http://developers.box.com/webhooks/
it seems like Box API has webhook. You may want to try it.

I received an email today regarding Dropbox WebHooks that is in the beta phase:
If you're interested in helping us out, just click through to fill out
your information, and we'll be in touch:
https://dropboxapi.wufoo.com/forms/dropbox-webhooks-api-beta-feedback-contact-info
Happy Dropboxing!

Dropbox now offers webhooks, although not with a event_type filter
https://www.dropbox.com/developers/blog/90/announcing-dropbox-webhooks

Related

Instagram - Get Direct Message

I'm writting a new post, because all of topics that was related with getting Instagram Direct message via API are a little bit old.
Do anyone knows if there is a possibility of GET Direct Messages via API or in some programatically way?
Right now, it doesn't look like you can. The Instagram Graph API docs don't mention direct messages at all. The old Instagram API never had this.
Take a look to the Component InstagramApiSharp, it contains this functionnality. There are some actions that you can built for the direct message with it.

direct message sync issue with twitter API

I am using the twitter api to get all direct messages
while testing I tried to delete a message from the twitter website and then tried to reload my app's direct message page (get via api) - the dm I deleted was still showing in my app but it wasn't on the account I was using on the website.
I'm not sure whats going on here, any help is appreciated
You usually should give a second after an update/delete operation on Twitter. If you do, I would say that something is going wrong with your code.

Notification on Feeds URL

I am .net developer.I need some clarification in the feeds notification.
I have some list of RSS feed url (e.g more than 100 URL).
My question is I want to develop a console application to get notification if the new item comes in any of the 100 URLS.
What is exact way to do this. Please guide me.
Can we make use of the pubsubhub protocol for this requirement or any other simple approach is available to do this.
Thanks,
Jayakumar
Yes, PubSubHubbub is a protocol that you could use for this. Now, it's not implemented by all feeds out there, so you'll have to resort to polling. Another option is to use services like Superfeedr which provide a webhook mechanism to notify your application when a feed has been updated.

Get Notified when a file changes on dropbox

Does dropbox have a way of notifying when a file changes i.e arrival of new uploads or a file has changed.
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.
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.
This delta API can be called to get sync
http://forums.dropbox.com/topic.php?id=53533
Dropbox now officially offers Webhooks https://www.dropbox.com/developers/blog/90/announcing-dropbox-webhooks
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!
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)
Go to: Dropbox Developer App Console
Click on your App that contains the files whose changes you want to be notified.
Scroll down to "WEBHOOK"
Paste the link that will handle the notifications via POST method.
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. :)
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.
Dropbox has a new long polling endpoint for deltas:
https://www.dropbox.com/developers/blog/63/low-latency-notification-of-dropbox-file-changes
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!");
}];

New Messaging System API for non developer accounts

According to this blog post the new messaging system should be accessible via the API (fql/graph) for non developer account as of end of November. It still gives OAuthException with message "You must be a developer of the application".
I was unable to find any updates on this issue from Facebook or other sources. Anyone knows what is going on with this and when will it be accessible?
There was a bug opened on the subject, anyone who has interest in this might consider promoting it.
Going to answer my own question, according to the response on the bug seems like the official answer is:
"We said it would be published but it wasn't, so just wait until we say it will be published again".
Are you trying to read messages or send them? It's still not possible to send them but reading them should work for any app now