我将CRM系统与Google日历同步。为此,我要求用户将Google日历push notifications
添加到我的系统中。
我已成功创建了一个手表,并将到期时间设置为2030年,但是当我收到来自观察事件的回复时,它会将手表的到期时间设置为一个月。
问题:
我的代码:
$channel = new Google_Service_Calendar_Channel($client);
$uuid = gen_uuid();
$channel->setId($uuid);
$channel->setType('web_hook');
$channel->setExpiration('1919995862000');
$address = $sugar_config['site_url'] . "/index.php?entryPoint=updateFromCal";
$channel->setAddress($address);
$watchEvent = $service->events->watch($bean->google_cal_id_c, $channel);
回应:
[address] =>
[expiration] => 1417667348000
[id] => 87453668-b1fd-4468-beca-xxxxxxxxxxxx
[kind] => api#channel
[params] =>
[payload] =>
[resourceId] => xxxxxxxxx-xxxxxxxxxxx
[resourceUri] => https://www.googleapis.com/calendar/v3/calendars/xxxxxx@gmail.com/events?key=xxxxxxxxxxxxxxxxxxxxWHxxxxxxalt=json
[token] =>
[type] =>
[modelData:protected] => Array
答案 0 :(得分:1)
通知渠道可以包含到期时间,其值可以由您的请求或任何Google Calendar API内部限制或默认值决定(使用的限制性值更高)。目前没有自动更新通知渠道的方法。当频道接近其到期时,您必须通过调用watch方法创建一个新频道。以下是有关通知渠道的更多文档的link。