ドロップボックスには、ファイルが変更されたとき、つまり新しいアップロードの到着やファイルが変更されたときに通知する方法がありますか?
9 に答える
/delta
それでもポーリングする必要がありますが、エンドポイントよりもはるかに効率的にポーリングできる、と呼ばれる比較的新しいAPIエンドポイントがあり/metadata
ます。
RSSフィードを使用するよりも優れています。
Kannanが指摘しているように、/delta
ポーリングやRSSよりも優れた新しい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.
このデルタAPIを呼び出して同期を取得できます
Dropboxは最近WebHooksを発表しました!
私たちを支援することに興味がある場合は、クリックして情報を入力してください。ご連絡いたします。
ハッピードロップボクシング!
Dropboxが正式にWebhookを提供するようになりましたhttps://www.dropbox.com/developers/blog/90/announcing-dropbox-webhooks
常にオンになっているDropboxがインストールされているコンピューターがある場合は、Dropboxが変更通知をポップアップするたびに実行するようにスクリプトを設定できます。そのスクリプトは、RSS(または/ delta API)を使用して変更ログを取得し、関心のあるファイル/ディレクトリが変更された場合は、通知を送信します。
Macでは、DropboxはGrowlに通知を送信でき、Growlにスクリプトを実行するように指示できます。Windowsでは、 gTraySpyなどを使用してシステムトレイの通知を監視する必要があります。Windows Balloonsプラグインをインストールすると、GrowlforWindowsでこれを実行できます。
変更が発生したときにスクリプトを実行できる限り、変更ログを解析し、特定のアイテムが変更されたときにアクションを実行するだけです。
Dropboxには、デルタ用の新しい長いポーリングエンドポイントがあります。
https://www.dropbox.com/developers/blog/63/low-latency-notification-of-dropbox-file-changes
DropboxのデルタAPIは、変更されたすべてのファイルの詳細のリストを取得するために使用されますが、Webhookは、変更(変更はファイルの変更、追加、または削除)について通知を受ける必要があるものです。
- 移動先:Dropbox Developer App Console
- 変更を通知するファイルが含まれているアプリをクリックします。
- 「WEBHOOK」まで下にスクロールします
- POSTメソッドを介して通知を処理するリンクを貼り付けます。
- [有効にする]をクリックします。
[有効にする]をクリックすると、ドロップボックスは入力したリンクにリクエストを送信して、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を介して上記のリンクに通知されます。通知を希望どおりに処理します。:)
DropboxSYNCAPIはその方法です
DBPath *path = [DBPath root];
[fileSystem addObserver:self forPathAndChildren:path block:^() {
NSLog(@"something changed in your dropbox folder!");
}];