Обработка изменений в пользовательских Задачах Google с помощью GTasks API - PullRequest
3 голосов
/ 06 июня 2011

Мы создаем сервис, который будет синхронизироваться с данными пользователя Google Tasks, поэтому если пользователь добавляет / редактирует / удаляет задачу в GTask, значит, она будет добавлена ​​/ отредактирована / удалена в нашем сервисе.

И есть большая проблема с синхронизацией: как я вижу, GTasks API не предоставляет никаких прослушивателей событий onUpdate / onChange. Я имею в виду, что идеальное решение может быть, если будет метод Google Tasks API, который можно использовать для установки некоторого URL обратного вызова, который будет запрашиваться при добавлении / редактировании / удалении задач пользователем.

Но я не могу найти такой метод в Google Tasks API, поэтому сейчас есть только один очень плохой способ синхронизации с Google Tasks API - запрашивать все задачи пользователей и сравнивать их с задачами обслуживания. Это очень плохой способ синхронизации, потому что если у нас есть 10 000 пользователей и мы хотим, чтобы их список задач синхронизировался до 1 минуты, то нам нужно будет делать> 10 000 запросов GTasks API в минуту: (

Я надеюсь, что я не прав, и есть какой-то способ установить обратный вызов onChange / onUpdate для пользовательских задач. Или, может быть, есть какой-то другой способ получить фактическое уведомление об изменениях пользователя GTasks (по электронной почте и т. Д.).

Кто-нибудь знает это? Спасибо.

1 Ответ

5 голосов
/ 06 июня 2011

Вы можете использовать параметр updatedMin только для получения Задач, которые были обновлены с данной отметки времени, как описано в документации .

Вы должны иметь возможность полагаться на ETag и If-None-Match заголовки при запросах списков пользовательских задач, чтобы получить 304 Not Modified, если никакие задачи в списке не изменились. (Не то, что также должно работать при опросе отдельных задач)

Таким образом, вы можете эффективно опрашивать задачи, которые изменились с момента последней синхронизации.

...