我正在尝试将谷歌日历与我的网站同步。我正在使用谷歌客户端php api。直到现在我能够从谷歌日历中获取所有事件。有没有办法只从谷歌日历获取更新的事件。 以下是从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();
}
答案 0 :(得分:0)
我猜你只能使用orderBy
参数。它具有值“已更新”,按上次修改时间(升序)对事件进行排序。这是documentation。
答案 1 :(得分:0)
我正在研究相同的功能,但显然他们的公共Google Calendar API不允许这样做。似乎唯一的方法是获取主循环事件并将其与所有事件实例(逐字段)进行比较。我敢打赌他们有一个内部API,可以为内部日历同步提供该信息。
抱歉,没有PHP代码,我使用C#和REST API。
答案 2 :(得分:0)
在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)
]);