コード例 #1
0
 function createCalendar($summary)
 {
     $calendar = new Google_Service_Calendar_Calendar();
     $calendar->setSummary($summary);
     $calendar->setTimeZone('America/Bogota');
     $createdCalendar = $this->service->calendars->insert($calendar);
     $id = $createdCalendar->getId();
     $this->addAcl($id);
     return $id;
 }
コード例 #2
0
ファイル: lounge.php プロジェクト: byyeong/dc2016
 public function calendar()
 {
     //         require_once 'Google/Calendar.php';
     //         $entry = '<entry
     // xmlns="http://www.w3.org/2005/Atom"
     // xmlns:gd="http://schemas.google.com/g/2005">
     // <category
     // scheme="http://schemas.google.com/g/2005#kind"
     // term="http://schemas.google.com/g/2005#event">
     // </category>
     // <title type="text">일정제목</title>
     // <content type="text">내용</content>
     // <gd:where valueString="장소">
     // </gd:where>
     // <gd:when
     // startTime="시작시간"
     // endTime="끝나는시간">
     // <gd:reminder minutes="1" method="sms" />
     // </gd:when>
     // </entry>'
     //         $service = new Google_Calendar;
     //         // if (!$service->requestClientLogin(본인의 구글아이디,비밀번호)) {
     //         //     exit("ClientLogin has failed\n".$service->getResponseBody());
     //         // }
     //         // if (!$service->insert($entry)) {
     //         //     exit("Inserting an entry has failed\n".$service->getResponseBody());
     //         // }
     //         if (!$service->insert($entry, "http://www.google.com/calendar/feeds/[등록하고싶은 캘린더의 ID]/private/full")) {
     //             exit("Inserting an entry has failed\n".$service->getResponseBody());
     //         }
     // $client_id = '591777926178-kvdbu7llidjni1qvrpe330og3518hc9o.apps.googleusercontent.com';
     // $client_secret = '0e1332d5822ba7ba2005fb7667a4ae67f1a2856d';
     // $redirect_uri = 'http://localhost.me:8006/';
     // $cTitle = "캘린더등곡";
     // require_once('../tf_app/ext/google/Client.php');
     // require_once('../tf_app/ext/google/Service/Calendar.php');
     // $client = new Google_Client();
     // $client->setClientId($client_id);
     // $client->setClientSecret($client_secret);
     // $client->setRedirectUri($redirect_uri);
     // $client->setAccessType('offline');
     // $client->setApprovalPrompt('force');
     // $client->setScopes(array('https://www.googleapis.com/auth/calendar.readonly', 'https://www.googleapis.com/auth/calendar'));
     // $cal = new Google_Service_Calendar($client);
     // $calendarId = 'ko.south_korea#holiday@group.v.calendar.google.com'; //
     // $targetDate = '2015-03-18';
     // $tDate = new Google_Service_Calendar_EventDateTime();
     // $tDate->setDate($targetDate);
     // $body = new Google_Service_Calendar_Event();
     // $body->setSummary($cTitle);  // 일정 제목
     // $body->setStart($tDate); // 일정 시작
     // $body->setEnd($tDate); // 일정 종료
     // $cal->events->insert($calendarId, $body);
     // step2
     // phpinfo();
     // exit(1);
     // error_reporting(E_ALL);
     // // require_once('../tf_app/ext/google/Client.php');
     // // require_once('../tf_app/ext/google/Service/Calendar.php');
     // require_once '../tf_app/ext/google/autoload.php';
     // $client_id = '591777926178-kvdbu7llidjni1qvrpe330og3518hc9o.apps.googleusercontent.com';
     // $client_secret = '0e1332d5822ba7ba2005fb7667a4ae67f1a2856d';
     // $redirect_uri = 'http://localhost.me:8006/';
     // $calendarId = 'ko.south_korea#holiday@group.v.calendar.google.com';
     // $client = new Google_Client();
     // $client->setClientId($client_id);
     // $client->setClientSecret($client_secret);
     // $client->setRedirectUri($redirect_uri);
     // $client->setAccessType('offline');
     // $client->setApprovalPrompt('force');
     // $client->setScopes(array('https://www.googleapis.com/auth/calendar.readonly', 'https://www.googleapis.com/auth/calendar'));
     // $cal = new Google_Service_Calendar($client);
     // $event = new Google_Service_Calendar_Event();
     // $event->setSummary('Appointment');
     // $event->setLocation('Somewhere');
     // $start = new Google_Service_Calendar_EventDateTime();
     // $start->setDateTime('2015-03-19T10:00:00.000-07:00');
     // $start->setTimeZone('America/Los_Angeles');
     // $event->setStart($start);
     // $end = new Google_Service_Calendar_EventDateTime();
     // $end->setDateTime('2011-06-03T10:25:00.000-07:00');
     // $end->setTimeZone('America/Los_Angeles');
     // $event->setEnd($end);
     // $event->setRecurrence(array('RRULE:FREQ=WEEKLY;UNTIL=20150319T170000Z'));
     // $attendee1 = new Google_Service_Calendar_EventAttendee();
     // $attendee1->setEmail('attendeeEmail');
     // // ...
     // $attendees = array($attendee1,
     //                    // ...
     //                    );
     // $event->attendees = $attendees;
     // // $recurringEvent = $cal->events->insert('primary', $event);
     // $recurringEvent = $cal->events->insert($calendarId, $event);
     // echo $recurringEvent->getId();
     // step3
     // $this->tpl_name = "";
     // // require_once('../tf_app/ext/google/Client.php');
     // // require_once('../tf_app/ext/google/Service/Calendar.php');
     // require_once '../tf_app/ext/google/autoload.php';
     // // require_once 'CalendarHelper.php';
     // session_start();
     // $client = new Google_Client();
     // $client->setApplicationName("calendar-api-test");
     // // $client->setDeveloperKey("AIzaSyBBH88dIQPjcl5nIG-n1mmuQ12J7HThDBE");
     // $client->setClientId('591777926178-kvdbu7llidjni1qvrpe330og3518hc9o.apps.googleusercontent.com');
     // $client->setClientSecret('0e1332d5822ba7ba2005fb7667a4ae67f1a2856d');
     // $client->setRedirectUri('http://localhost.me:8006/lounge/calendar');
     // $client->setAccessType('offline');   // Gets us our refreshtoken
     // $client->setScopes(array('https://www.googleapis.com/auth/calendar.readonly'));
     // //For loging out.
     // if (isset($_GET['logout'])) {
     //     unset($_SESSION['token']);
     // }
     // // Step 2: The user accepted your access now you need to exchange it.
     // if (isset($_GET['code'])) {
     //     $client->authenticate($_GET['code']);
     //     $_SESSION['token'] = $client->getAccessToken();
     //     $redirect = 'http://localhost.me:8006/lounge/calendar';
     //     header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));
     // }
     // // Step 1:  The user has not authenticated we give them a link to login
     // if (!isset($_SESSION['token'])) {
     //     $authUrl = $client->createAuthUrl();
     //     print "<a class='login' href='$authUrl'>Connect Me!</a>";
     // }
     // // Step 3: We have access we can now create our service
     // if (isset($_SESSION['token'])) {
     //     $client->setAccessToken($_SESSION['token']);
     //     print "<a class='logout' href='".$_SERVER['PHP_SELF']."?logout=1'>LogOut</a><br>";
     //     $service = new Google_Service_Calendar($client);
     //     $calendarList  = $service->calendarList->listCalendarList();;
     //     print_r($calendarList);
     //     while(true) {
     //         foreach ($calendarList->getItems() as $calendarListEntry) {
     //             echo $calendarListEntry->getSummary()."<br>\n";
     //         }
     //         $pageToken = $calendarList->getNextPageToken();
     //         if ($pageToken) {
     //             $optParams = array('pageToken' => $pageToken);
     //             $calendarList = $service->calendarList->listCalendarList($optParams);
     //         } else {
     //             break;
     //         }
     //     }
     // }
     // step4
     // If you've used composer to include the library, remove the following line
     // and make sure to follow the standard composer autoloading.
     // https://getcomposer.org/doc/01-basic-usage.md#autoloading
     require_once '../tf_app/ext/google/autoload.php';
     // $client = new Google_Client();
     // // OAuth2 client ID and secret can be found in the Google Developers Console.
     // $client->setClientId('591777926178-kvdbu7llidjni1qvrpe330og3518hc9o.apps.googleusercontent.com');
     // $client->setClientSecret('0e1332d5822ba7ba2005fb7667a4ae67f1a2856d');
     // $client->setRedirectUri('http://localhost.me:8006/lounge/calendar');
     // $client->addScope('https://www.googleapis.com/auth/calendar');
     // $service = new Google_Service_Calendar($client);
     // $authUrl = $client->createAuthUrl();
     // //Request authorization
     // print "Please visit:\n$authUrl\n\n";
     // print "Please enter the auth code:\n";
     // $authCode = trim(fgets(STDIN));
     // // Exchange authorization code for access token
     // $accessToken = $client->authenticate($authCode);
     // $client->setAccessToken($accessToken);
     // step5
     // Service Account info
     $client_id = '591777926178-kvdbu7llidjni1qvrpe330og3518hc9o.apps.googleusercontent.com';
     $service_account_name = '*****@*****.**';
     $key_file_location = '../tf_app/ext/calendar-api-test-826600ed61c3.p12';
     // Calendar id
     $calName = '*****@*****.**';
     $client = new Google_Client();
     $client->setApplicationName("Calendar test");
     $service = new Google_Service_Calendar($client);
     $key = file_get_contents($key_file_location);
     $cred = new Google_Auth_AssertionCredentials($service_account_name, array('https://www.googleapis.com/auth/calendar.readonly'), $key);
     $client->setAssertionCredentials($cred);
     $cals = $service->calendarList->listCalendarList();
     print_r($cals);
     //exit;
     // // Convert recurring events to single events
     // // Look for events in the next week - now to now+1week
     // $params = array(
     //  'singleEvents' => TRUE,
     //  'timeMin' => (new DateTime())->format(DateTime::RFC3339),
     //  'timeMax' => (new DateTime())->add(new DateInterval('P1W'))->format(DateTime::RFC3339),
     // );
     // $events = $service->events->listEvents($calName, $params);
     // foreach ($events->getItems() as $event) {
     //  echo "Summary:  ", $event->getSummary(), "\n";
     //  echo "Location: ", $event->getLocation(), "\n";
     //  echo "Start:    ", fmt_gdate($event->getStart()), "\n";
     //  echo "End:      ", fmt_gdate($event->getEnd()), "\n";
     // }
     // function fmt_gdate( $gdate ) {
     //   if ($val = $gdate->getDateTime()) {
     //     return (new DateTime($val))->format( 'd/m/Y H:i' );
     //   } else if ($val = $gdate->getDate()) {
     //     return (new DateTime($val))->format( 'd/m/Y' ) . ' (all day)';
     //   }
     // }
     $calendar = new Google_Service_Calendar_Calendar();
     $calendar->setSummary('calendarSummary');
     $calendar->setTimeZone('America/Los_Angeles');
     $createdCalendar = $service->calendars->insert($calendar);
     echo $createdCalendar->getId();
 }
コード例 #3
0
ファイル: ToolsGoogle.php プロジェクト: JodiWarren/hms
 /**
  * Creates a new calendar
  *
  * @param string calendar name
  * @return string calendar ID (or false on failure)
  */
 public function createCalendar($calendarName)
 {
     if ($this->authorised()) {
         // set up the calendar and save
         $calendar = new Google_Service_Calendar_Calendar();
         $calendar->setSummary($calendarName);
         $calendar->setTimeZone('Europe/London');
         $calendar->setLocation('United Kingdom');
         try {
             $calendar = $this->__service->calendars->insert($calendar);
         } catch (Exception $e) {
             return false;
         }
         // make it public, delete if this fails
         try {
             $acl = new Google_Service_Calendar_AclRule();
             $acl->setRole('reader');
             $scope = new Google_Service_Calendar_AclRuleScope();
             $scope->setType('default');
             $acl->setScope($scope);
             $this->__service->acl->insert($calendar->getId(), $acl);
         } catch (Exception $e) {
             $this->__service->calendars->delete($calendar->getId());
             return false;
         }
         return $calendar->getId();
     }
     return false;
 }