web-dev-qa-db-ja.com

Dropboxでファイルが変更されたときに通知を受ける

Dropboxには、ファイルが変更されたとき、つまり新しいアップロードの到着やファイルが変更されたときに通知する方法がありますか?.

25
Gandalf

Kannanが指摘するように、ポーリングやRSSよりも優れた /delta と呼ばれる新しいAPIエンドポイントがあります。

/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.
25
Waynn Lue

まだポーリングする必要がありますが、_ /delta と呼ばれる比較的新しいAPIエンドポイントがあり、/metadataエンドポイントよりもはるかに効率的にポーリングできます。

RSSフィードを使用するよりも優れています。

31
Kannan Goundan
6
Dan

Dropboxが最近発表したWebHooks!

私たちの手助けに興味がある場合は、クリックして情報を入力してください。ご連絡いたします。

ハッピードロップボックス!

6
QFDev

この差分APIを呼び出して同期をとることができます

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

6
Zaheer

Dropboxがインストールされたコンピューターが常にオンになっている場合は、Dropboxが変更通知をポップアップするたびに実行するスクリプトを設定できます。そのスクリプトは、RSS(または/ delta API)を使用して変更ログを取得し、目的のファイル/ディレクトリが変更された場合は通知を送信します。

Macでは、DropboxがGrowlに通知を送信し、Growlにスクリプトを実行するように指示できます。 Windowsでは、 gTraySpy のようなものを使用して、システムトレイで通知を監視する必要があります。 Windows Balloons プラグインをインストールすると、Growl for Windowsはこれを実行できます。

変更が発生したときにスクリプトを実行できる限り、変更ログを解析し、特定のアイテムが変更されたときにアクションを実行するだけです。

1
sstur

Dropboxには、デルタ用の新しい長いポーリングエンドポイントがあります。

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

1
mcintyre321

Dropboxのdelta APIは、変更されたすべてのファイルの詳細のリストを取得するために使用されますが、Webhookは、変更(ファイルの変更、追加、または削除)について通知を受けるために必要なものです

  1. 移動先: Dropbox Developer App Console
  2. 変更を通知したいファイルを含むアプリをクリックします。
  3. 「WEBHOOK」までスクロールします
  4. POSTメソッドを介して通知を処理するリンクを貼り付けます。
  5. [有効にする]をクリックします。

有効をクリックすると、ドロップボックスは入力したリンクにリクエストを送信し、GETリクエストに応答するかどうかを確認します。リンクがそれに応答することを確認する必要があります。 PythonおよびFlaskフレームが機能する場合、次の2行のコードで十分です。

@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上記のリンクに通知されます。通知を適切に処理してください。:)

1
Avi Dubey