Получить только обновленные события из календаря Google, используя клиент Google php api

Я пытаюсь синхронизировать календарь Google с моим веб-сайтом. Я использую клиент Google php api. До сих пор я могу получать все события из календаря Google. Есть ли способ получить только обновленные события из календаря Google. Ниже приведен код для получения событий из календаря Google

$client = new Google_Client();

$client->setApplicationName( $app_name ); 
$client->setDeveloperKey( $app_key ); 
$cal = new Google_Service_Calendar( $client );
$calendarId = $app_id;

$params = array(      
  'singleEvents' =>   true,
  'orderBy'      =>   'startTime',
);
$events = $cal->events->listEvents($calendarId, $params);
foreach ( $events->getItems() as $event ) {
echo $event->getSummary();
}

2 ответа

Я думаю, вы можете использовать только orderBy параметр. Он имеет значение "обновлено", которое упорядочивает события по времени последней модификации (по возрастанию). Вот документация.

В API v3 вы можете использовать параметр updatedMin.

 $datetime = \DateTime::createFromFormat("Y-m-d H:i:s", "2019-07-14 05:40:00");

 $events = $service->events->listEvents('primary', [
   "updatedMin" => $datetime->format(\DateTime::RFC3339)
 ]);

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

Извините, нет кода PHP, я использую C# и REST API.

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