예제 #1
1
     $description .= "\nPhone: \n{$phone}\n\n";
 }
 if (!empty($comments)) {
     $description .= "\nComments: \n{$comments}\n\n";
 }
 $event->setDescription($description);
 $defaultFolks = array("*****@*****.**");
 foreach ($defaultFolks as $defaultFolk) {
     $attendee = new Google_Service_Calendar_EventAttendee();
     $attendee->setEmail($defaultFolk);
     $attendees[] = $attendee;
 }
 $attendee = new Google_Service_Calendar_EventAttendee();
 $attendee->setEmail($email);
 $attendees[] = $attendee;
 $event->setAttendees($attendees);
 $start = new DateTime($date);
 $start->setTimezone(new DateTimeZone($timezone));
 $gstart = new Google_Service_Calendar_EventDateTime();
 $gstart->setDateTime($start->format(DateTime::ISO8601));
 $gstart->setTimeZone($timezone);
 $event->setStart($gstart);
 $end = new DateTime($date);
 $end->setTimezone(new DateTimeZone($timezone));
 $end->add(new DateInterval("PT1H"));
 $gend = new Google_Service_Calendar_EventDateTime();
 $gend->setDateTime($end->format(DateTime::ISO8601));
 $gend->setTimeZone($timezone);
 $event->setEnd($gend);
 //Next insert it into the calendar
 $calendarService->events->insert($calendarId, $event);
 /**
  * @param string $calendarId Calendar that has the events
  * @param string $email Email of calendar to unattend
  */
 public static function unattendAllEvents($calendarId, $email)
 {
     $service = self::getService();
     $opts = ['fields' => 'items(attendees,id),nextPageToken', 'showDeleted' => true, 'singleEvents' => false];
     $pageToken = 1;
     while ($pageToken) {
         if ($pageToken !== 1) {
             $opts['pageToken'] = $pageToken;
         }
         $events = $service->events->listEvents($calendarId, $opts);
         foreach ($events as $event) {
             $attendees = $event->getAttendees();
             $i = self::hasAttendee($attendees, $email);
             if ($i !== false) {
                 unset($attendees[$i]);
                 $patch = new \Google_Service_Calendar_Event();
                 $patch->setAttendees($attendees);
                 self::patchEvent($calendarId, $event->id, $patch);
             }
         }
         $pageToken = $events->getNextPageToken();
     }
 }