Я использую php watch commant:
$service = new Google_Service_Calendar($client); $channel = new Google_Service_Calendar_Channel($client); $channel->setId('20fdedbf0-a845-11e3-1515e2-0800200c9a6689111'); $channel->setType('web_hook'); $channel->setAddress('https://www.exampel.com/app/notification'); $watchEvent = $service->events->watch('primary', $channel);
Эта команда отлично работает, и я получаю ответ:
Google_Service_Calendar_Channel Object ( [address] => [expiration] => 1401960485000 [id] => 20fdedbf0-a845-11e3-1515e2-0800200c9a6689111 [kind] => api#channel [params] => [payload] => [resourceId] => HZjSdbhwcd5KMKEA3ATA31LoR-w [resourceUri] => https://www.googleapis.com/calendar/v3/calendars/primary/events?key=AIzaSyBl_Y7Y4eQDve-0DjwzBEP7_qOLo-67ouY&alt=json [token] => [type] => [modelData:protected] => Array ( ) [processed:protected] => Array ( ) )
Однако; В моем настройке url я не получаю никакого сообщения, когда что-то меняется в моем календаре. Я что-то упускаю!?
У меня была аналогичная проблема, которая была вызвана аутентификацией в моем приложении.
Попробуйте отправить запрос на отправку https://www.exampel.com/app/notification
и посмотреть, получен ли он. Если нет, дважды проверьте свою маршрутизацию или аутентификацию.
Также убедитесь, что конечная точка является допустимым URL-адресом https. Самоподписанные сертификаты не допускаются.
Источник: https://developers.google.com/google-apps/calendar/v3/push