Получить только обновленные события из календаря 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.