Push-уведомления и каналы жизненного цикла
Мы пытаемся получить push-уведомления от Google Drive. Мы разрабатываем веб-платформу с несколькими пользователями.
Мы должны получать любые изменения пользователей на веб-крюке. Согласно документации, не ясно, как построить эти каналы и их жизненный цикл.
Нам нужно, как только пользователь вошел в нашу платформу, чтобы автоматически получать все изменения.
Мы не знаем, когда создать канал:
- Однажды, я имею в виду, он создан, и платформа будет получать уведомления "навсегда" (пока канал явно не удален)?
- Или нам нужно создавать канал каждый раз, когда мы хотим отслеживать изменения (примечание: мы хотим следить за изменениями в любое время, независимо от того, вошел ли пользователь на нашей платформе). Мы хотим получать уведомления навсегда.
Как мы должны обрабатывать канал тогда?
2 ответа
Согласно предоставленной вами документации, вам просто нужно настроить канал уведомлений для каждого ресурса, который вы хотите просмотреть. После настройки каналов уведомлений Drive API будет информировать ваше приложение о любых изменениях отслеживаемого ресурса, поэтому вам не нужно создавать канал каждый раз, когда вы хотите следить за изменениями.
Вы можете проверить этот поток, в котором указано, что как только в URL-адрес обратного вызова поступают изменения, изменения должны быть получены путем выполнения запроса get на изменение ресурса URI.
он создан и платформа будет получать уведомления "навсегда" (пока канал не будет явно удален)?
Документация (v3) гласит:
Примечание. Для Drive API максимальное время истечения составляет 86400 секунд (1 день) после текущего времени для файловых ресурсов и 604800 секунд (1 неделя) для изменений. Если вы не установили свойство expiration в своем запросе, по умолчанию время истечения равно 3600 секундам.
У меня та же проблема, что вы упоминаете в вопросе. Какую стратегию выбрать, чтобы переключиться с одного часа на другой. Вы что-нибудь подняли?