使用谷歌客户端php api从谷歌日历中获取更新的事件

时间:2016-02-12 06:10:23

标签: php api google-api google-calendar-api

我正在尝试将谷歌日历与我的网站同步。我正在使用谷歌客户端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();
}

3 个答案:

答案 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)
 ]);