web-dev-qa-db-fra.com

Être notifié lorsqu'un fichier est modifié dans une boîte de dépôt

Dropbox a-t-il un moyen de notifier quand un fichier change, c'est-à-dire l'arrivée de nouveaux téléchargements ou lorsqu'un fichier a été modifié?.

26
Gandalf

Comme le souligne Kannan, il existe un nouveau point de terminaison API appelé /delta qui est meilleur que le polling ou le RSS.

Ceci peut également être utilisé avec le point de terminaison /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.
24
Waynn Lue

Bien que vous ayez toujours besoin d'interroger, il existe un point de terminaison API relativement nouveau appelé /delta qui vous permettra d'interroger beaucoup plus efficacement que le point de terminaison /metadata.

C'est mieux que d'utiliser le flux RSS.

31
Kannan Goundan

Dropbox propose désormais officiellement Webhooks https://www.dropbox.com/developers/blog/90/announcing-dropbox-webhooks

6
Dan

Cette API delta peut être appelée pour obtenir la synchronisation

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

6
Zaheer

Dropbox a récemment annoncé WebHooks!

Si vous souhaitez nous aider, cliquez simplement dessus pour le remplir vos informations, et nous vous contacterons:

Bonne Dropboxing!

5
QFDev

Si un ordinateur sur lequel Dropbox est installé est toujours activé, vous pouvez définir un script à exécuter chaque fois que Dropbox affiche une notification de modification. Ce script pourrait alors récupérer le journal des modifications à l'aide de RSS (ou de l'API/delta) et, si le fichier/répertoire qui vous intéresse a changé, envoyer une notification.

Sur Mac, Dropbox peut envoyer des notifications à Growl et vous pouvez demander à Growl d’exécuter votre script. Sous Windows, vous devez surveiller les notifications dans la barre d'état système à l'aide de quelque chose comme gTraySpy . Growl pour Windows peut le faire si vous installez le Windows Balloons plugin.

Tant que vous pouvez exécuter un script lorsqu'une modification est survenue, il vous suffit d'analyser le journal des modifications et d'exécuter une action lorsque certains éléments ont été modifiés.

1
sstur

Dropbox a un nouveau point de fin d'interrogation long pour les deltas:

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

1
mcintyre321

Bien que l'API delta de Dropbox soit utilisée pour obtenir une liste de tous les détails du fichier modifié, un Webhook est ce dont on a besoin pour être averti d'un changement (changement en cours de modification, ajout ou suppression d'un fichier).

  1. Allez à: Console d’application pour développeur Dropbox
  2. Cliquez sur votre application contenant les fichiers dont vous souhaitez être informé des modifications. 
  3. Faites défiler jusqu'à "WEBHOOK"
  4. Collez le lien qui gérera les notifications via la méthode POST.
  5. Cliquez sur Activer.

Lorsque vous cliquez sur Activer, la liste déroulante envoie une demande au lien que vous avez entré pour voir si elle répond ou non à la demande GET. Vous devez vous assurer que le lien y répond. Si vous travaillez avec les cadres Python et Flask, vous devez suivre les deux lignes de code suivantes:

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

Désormais, vous serez averti par le biais de POST via le lien ci-dessus chaque fois qu'une modification est apportée à la liste déroulante . Traitez les notifications comme vous le souhaitez. :) 

1
Avi Dubey