Push-уведомления и каналы жизненного цикла

Мы пытаемся получить push-уведомления от Google Drive. Мы разрабатываем веб-платформу с несколькими пользователями.

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

Нам нужно, как только пользователь вошел в нашу платформу, чтобы автоматически получать все изменения.

Мы не знаем, когда создать канал:

  1. Однажды, я имею в виду, он создан, и платформа будет получать уведомления "навсегда" (пока канал явно не удален)?
  2. Или нам нужно создавать канал каждый раз, когда мы хотим отслеживать изменения (примечание: мы хотим следить за изменениями в любое время, независимо от того, вошел ли пользователь на нашей платформе). Мы хотим получать уведомления навсегда.

Как мы должны обрабатывать канал тогда?

2 ответа

Согласно предоставленной вами документации, вам просто нужно настроить канал уведомлений для каждого ресурса, который вы хотите просмотреть. После настройки каналов уведомлений Drive API будет информировать ваше приложение о любых изменениях отслеживаемого ресурса, поэтому вам не нужно создавать канал каждый раз, когда вы хотите следить за изменениями.

Вы можете проверить этот поток, в котором указано, что как только в URL-адрес обратного вызова поступают изменения, изменения должны быть получены путем выполнения запроса get на изменение ресурса URI.

он создан и платформа будет получать уведомления "навсегда" (пока канал не будет явно удален)?

Документация (v3) гласит:

Примечание. Для Drive API максимальное время истечения составляет 86400 секунд (1 день) после текущего времени для файловых ресурсов и 604800 секунд (1 неделя) для изменений. Если вы не установили свойство expiration в своем запросе, по умолчанию время истечения равно 3600 секундам.

У меня та же проблема, что вы упоминаете в вопросе. Какую стратегию выбрать, чтобы переключиться с одного часа на другой. Вы что-нибудь подняли?

Другие вопросы по тегам