Использование nextSyncToken в качестве опции для syncToken в listCalendarList или listEvents возвращает тот же результат - PullRequest
1 голос
/ 17 марта 2019

В API Календаря Google v 2.2.2 использование getNextSyncToken возвращает тот же nextSyncToken, вызывая бесконечный цикл при попытке получить все изменения.

$next = $this->service->calendarList->listCalendarList()->getNextSyncToken();
$this->service->calendarList->listCalendarList(['syncToken'=>$next]);

Как правильно использовать это?

1 Ответ

0 голосов
/ 19 марта 2019

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

Как должна работать синхронизация:

  • отправить первый запрос без маркера синхронизации
  • разбивайте результаты на страницы с помощью токена страницы, пока не останется больше токена страницы, затем сохраните маркер синхронизации с последней страницы
  • когда вы хотите обновить ваши события (например, после получения push-уведомления или по истечении 24 часов с момента последней синхронизации), предоставьте маркер синхронизации в запросе для получения вновь измененных объектов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...