Я синхронизирую свою систему CRM с Календарем Google. Для этого я прошу push notifications
из моих пользователей Google Календари в мою систему.
Я успешно создал часы и установил срок их действия до 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/[email protected]/events?key=xxxxxxxxxxxxxxxxxxxxWHxxxxxxalt=json
[token] =>
[type] =>
[modelData:protected] => Array
Канал уведомлений может иметь срок действия, значение которого определяется либо вашим запросом, либо какими-либо внутренними ограничениями или значениями по умолчанию API Календаря Google (используется более ограничительное значение). В настоящее время не существует автоматического способа обновления канала уведомлений. Когда канал близок к истечению срока действия, вы должны создать новый, вызвав метод watch. Здесь ссылка на сайт для получения дополнительной документации о каналах уведомлений.
Других решений пока нет …