/** * Creates a new google calendar event and returns * the resulting event inside an Event object. * * @param Event $event * * @return Event */ public function createEvent(Event $event) { $this->setCalendarId($event->calendar_id); /* * Create new google event object */ $googleEvent = new \Google_Service_Calendar_Event(); /* * Set Details */ $googleEvent->setSummary($event->title); $googleEvent->setDescription($event->description); $googleEvent->setLocation($event->location); /* * Set Start Date */ $start = $this->createDateTime($event->start, $event->timeZone, $event->all_day); $googleEvent->setStart($start); /* * Set End Date */ $end = $this->createDateTime($event->end, $event->timeZone, $event->all_day); $googleEvent->setEnd($end); /* * Set Recurrence Rule, make sure it's not empty */ if ($event->rrule) { $googleEvent->setRecurrence([$event->rrule]); } /* * Create the event */ $newGoogleEvent = $this->service->events->insert($this->calendarId, $googleEvent); return $this->createEventObject($newGoogleEvent); }
// 削除処理 $service->events->delete($calenderId, $eventId); echo '[Delete Event]' . ':' . $summary . ' (' . ($start->date ? $start->date : $start->dateTime) . ')' . "\n"; continue; } // 既に登録されているデータなので、更新リストから除外 unset($aipoEvents[$aipoId]); } $pageToken = $events->getNextPageToken(); if ($pageToken) { $optParams = array('pageToken' => $pageToken); $events = $service->events->listEvents($calenderId, $optParams); } else { break; } } // イベント登録 if (!empty($aipoEvents)) { foreach ($aipoEvents as $aipoEvent) { $event = new Google_Service_Calendar_Event(); $event->setSummary($aipoEvent['summary']); $event->setStart($aipoEvent['start']); $event->setEnd($aipoEvent['end']); $event->setRecurrence($aipoEvent['recurrence']); $event->setICalUID($aipoEvent['uid']); $service->events->insert($calenderId, $event); echo '[Insert Event]' . ':' . $aipoEvent['summary'] . ' (' . ($aipoEvent['start']->date ? $aipoEvent['start']->date : $aipoEvent['start']->dateTime) . ')' . "\n"; } } } exit(0);