繁体   English   中英

使用Google客户端PHP API从Google日历仅获取更新的事件

[英]Get only the updated events from google calendar using google client php api

我正在尝试将google calendar与我的网站同步。我正在使用google client 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();
}

我猜你只能使用orderBy参数。 它具有一个值“ updated ”,该值按上次修改时间(升序)对事件进行排序。 这是文档

我正在研究相同的功能,但显然他们的公共Google Calendar API不允许这样做。 似乎唯一的方法是获取主重复事件并将其与所有事件实例(逐字段)进行比较。 我敢打赌他们有一个内部API,可以为内部日历同步提供该信息。

抱歉,没有PHP代码,我使用C#和REST API。

在API v3中,您可以使用param 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)
 ]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM