2016-09-16 8 views
0

GDriveにアクセスするためのPythonアプリケーションを開発しました。の場合は、のファイルがgdriveで変更されます。 特に私は、イベントの移動/名前変更、削除、ダウンロード、アップロードに興味があります。私はGoogleが2つのツールを提供参照:GoogleドライブSDK:ファイルの変更について通知を受け取ります

  1. push notificationsを、しかしhere概説として、これは、特定のファイルやディレクトリのための変更を通知する制限されているように見えます。

  2. REST changes APIしかし、AFAIU私は毎秒Googleサーバーをポーリングするはずです。私はgdrive上で発生するすべてのファイルシステム関連のイベントについてグローバル通知を必要とするように、このの

どれも、私にとっては最適ではありません。代わりがありますか?私はDropBox supports thisを知っています。

答えて

0

アプリに変更が通知される必要がある場合のみ、このblogで提案されているより良い方法は、ユーザーのドライブの変更をアプリに登録させ、変更が発生したときに通知を受け取ることです。

あなたのアプリがmy-host.comドメインとサーバーでホストされているとの通知をプッシュされているとは、HTTPSのWebフックhttps://my-host.com/notificationに配信されなければならない:Googleドライブ、限り、サブスクリプションが有効であるとして、これにより

String subscriptionId = UUID.randomUUID().toString(); 
    Channel request = new Channel() 
    .setId(subscriptionId) 
    .setType("web_hook") 
    .setAddress("https://my-host.com/notification"); 
    drive.changes().watch(request).execute(); 

ますWebフックコールバックをhttps://my-host.com/notificationにトリガーします。アプリは、最後の同期ポイントから追いつくために変更フィードを照会できます。

changes = service.changes().list() 
    .setStartChangeId(lastChangeId).execute(); 

をさらに述べたように、あなたがこの新機能を使用することに興味を持っている場合、documentationを参照してください。プッシュ通知はPush Notifications Playgroundで表示され、送信元はGithubと表示されます。

+0

プッシュ通知には2つの問題があります:1すべてのファイルを見ることはできません(http://stackoverflow.com/questions/18144094/google-drive-sdk-push-notifications-watch-changes-onを参照)。 -all-files/18151189#18151189)2 1日後に有効期限が切れます(これはもう一度登録できます)。 –

関連する問題