2014-11-04 1 views
3

내 CRM 시스템을 Google 캘린더와 동기화합니다. 그렇게하려면 내 사용자 Google 캘린더에서 내 시스템으로 push notifications을 요청합니다. 나는 시계를 성공적으로 만들고 만료 시간을 2030 년으로 설정했다. 그러나 시계 이벤트의 응답을 받으면 시계의 만료 시간이 한 달로 설정되었다.Google 캘린더는 한 달 이상 만료 시간을 보지 않으십니까?

질문 :

  1. 합니까 내가 매달 내 시스템에서 각 사용자의 달력 시계를 새로 고쳐야이 평균?
  2. 시계를 무제한으로 만들 수있는 방법이 있습니까?

내 코드 :

$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/[email protected]/events?key=xxxxxxxxxxxxxxxxxxxxWHxxxxxxalt=json 
    [token] => 
    [type] => 
    [modelData:protected] => Array 

답변

1

, 귀하의 요청에 의해 또는 내부 Google 캘린더 API에 의해 결정될 값으로 한계 또는 기본값 (더 제한적인 값이 사용됨). 현재 알림 채널을 자동 갱신하는 방법은 없습니다. 채널이 만료일에 가까워지면 watch 메소드를 호출하여 새 채널을 만들어야합니다. 알림 채널에 대한 자세한 내용은 link입니다.