Google Drive SDK Push-уведомления-смотреть изменения во всех файлах?

недавно запущенная служба Push-уведомлений очень крутая и выглядит как большое улучшение по сравнению с опросом, который ранее был необходим.

Мне интересно, Как включить просмотр всех файлов в общей папке на диске. Мы работаем над инструментом мониторинга дисков, который сохраняет список всех изменений и позволяет сообщать обо всех папках корпоративных дисков.

Я знаю, что я могу использовать уведомления о новых объектах в изменений. К сожалению, вы не в состоянии обнаружить что изменилось от изменения ресурса.

при просмотре файловых ресурсов вы можете получать уведомления о том, что было изменено в файле (родители, разрешения, метаданные и т. д.). Это здорово, однако кажется, что невозможно зарегистрировать обработчик Push-уведомлений для всех файлов на диске. В документах говорится, что вам всегда нужно предоставить fileId. Это означало бы делать запросы на просмотр миллионов файлов в нашем сценарий (не говоря уже о возобновлении каналов Push API время от времени).

вы знаете более подходящий способ, чем использование уведомлений об изменениях и обнаружить, что было изменено вручную (что довольно много вызовов API и довольно медленно делать).

1 ответов


короче говоря, нет.

Push-уведомление пока поддерживает только просмотр файлов и изменений. Как вы знаете, папки на Google диск файл специального типа. То есть, вы можете смотреть на определенную папку, делая файлы.Watch () запрос в папку. Однако он будет сообщать вам только об изменениях в своих прямых потомках, а не рекурсивно, что, вероятно, не то, что вы хотели.

лучший подход, который вы могли бы принять, это сделать копию всех метаданных файла на ваш применение и сравнить его, когда какие-либо изменения произошли. Я знаю, что это не очень эффективно, но сейчас это единственный способ достичь этой цели.

и если вы спросите меня, будет ли создана функция, которую вы хотите, маловероятно. Push-уведомления предназначены не только для Drive API. Он предназначен для всех Google API, чтобы смотреть на любом ресурсе API и обнаруживать их изменения. В основном, когда вы делаете файлы.Watch () запрос, он сохраняет копию результата файлов.get () и пусть вы знаете, когда что-нибудь измененный. Вот почему файлы.часы имеют гораздо больше полезных деталей. Для изменений он говорит вам, когда есть изменения в изменениях.список.)( Таким образом, он не может сказать вам ничего лучше, чем то, что может сделать ресурс изменений. Из его дизайна я не думаю, что функция, которую вы хотите, будет добавлена в Drive API.