谷歌日历观看到期时间超过一个月?

时间:2014-11-04 04:50:58

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

我将CRM系统与Google日历同步。为此,我要求用户将Google日历push notifications添加到我的系统中。 我已成功创建了一个手表,并将到期时间设置为2030年,但是当我收到来自观察事件的回复时,它会将手表的到期时间设置为一个月。

问题:

  1. 这是否意味着我需要每个月刷新系统中每个用户日历的监视?
  2. 有没有办法让手表无限制?
  3. 我的代码:

    $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
    

1 个答案:

答案 0 :(得分:1)

通知渠道可以包含到期时间,其值可以由您的请求或任何Google Calendar API内部限制或默认值决定(使用的限制性值更高)。目前没有自动更新通知渠道的方法。当频道接近其到期时,您必须通过调用watch方法创建一个新频道。以下是有关通知渠道的更多文档的link