Как обрабатывать push-уведомления API Календаря Google?Php

Кемеровские программисты php общаются здесь
Anonymous
Как обрабатывать push-уведомления API Календаря Google?

Сообщение Anonymous »


Кажется, я не понимаю смысла этой статьи.

Я пытаюсь создать двустороннюю синхронизацию событий между моим веб-приложением и Календарем Google. Мои события успешно синхронизируются с Календарем Google, но push-уведомления, которые мне отправляет Google, бесполезны.

Когда я создаю новое событие, а затем создаю часы:

$channel = новый Google_Service_Calendar_Channel(); $channel->setId($watchId); $channel->setType('web_hook'); $channel->setAddress(URL::route('gapi.watchEvent')); $channel->setResourceId($seg->gapi_event_id); // это что-нибудь делает?? $channel->setToken(json_encode(['segment_id'=>$seg->id])); $channel->setParams([ 'ttl' => 2628000, // это уважается?? ]); $watchResp = $calendarService->events->watch($googleCalendarId, $channel); Во-первых, $channel->setResourceId что-нибудь делает? Я хочу прослушивать изменения в конкретном событии, но мне всегда приходят уведомления для всего календаря.

Заголовки, которые мне отправляет Google, выглядят следующим образом:

"X-Goog-Channel-Id": "qJSdaxkKKkXXXXXXXXXX", "X-Goog-Channel-Expiration": "Чт, 10 сентября 2015 г., 01:45:57 GMT", "X-Goog-Resource-State": "существует", "X-Goog-Номер-Сообщения": "1811101", "X-Goog-Resource-Id": "wBkuOkYwEhDiXXXXXXXXX", "X-Goog-Resource-Uri": "https://www.googleapis.com/calendar/v3/ ... s?alt=json", X-Goog-Channel-Id — это идентификатор просмотра, который я выбрал. X-Goog-Resource-Uri выглядит просто ссылкой на календарь. И я не знаю, что такое X-Goog-Resource-Id. Похоже, это не идентификатор моего календаря или идентификатор мероприятия.

Все, что я хочу знать, это какие данные изменились? Как извлечь эту информацию из push-уведомления?

Мне все равно, придется ли мне подписываться на каждое событие, создаваемое моим приложением, или только один раз в календаре.

Вернуться в «Php»