Hallo,
ich hab ein Script das mir Termine in den Google Kalender eintragen soll.
Das funktioniert auch soweit ganz gut.
Jedoch soll das ein Cronjob in zukunft von alleine tun, aber wie wenn ich den Zugriff per OAuth bestätigen muss.
Das Script fragt den accesstoken ab und das schafft der Cron ja nicht.
Gibt es eine Möglichkeit das auch ohne zu tun?
	
							
						
					ich hab ein Script das mir Termine in den Google Kalender eintragen soll.
Das funktioniert auch soweit ganz gut.
Jedoch soll das ein Cronjob in zukunft von alleine tun, aber wie wenn ich den Zugriff per OAuth bestätigen muss.
Das Script fragt den accesstoken ab und das schafft der Cron ja nicht.
Gibt es eine Möglichkeit das auch ohne zu tun?
Code:
	
	<?php
    require_once 'google-api-php-client/src/Google_Client.php';
    require_once 'google-api-php-client/src/contrib/Google_CalendarService.php';
    session_start();
    $client = new Google_Client();
    $client->setApplicationName("Google Calendar PHP Starter Application");
    // Visit https://code.google.com/apis/console?api=calendar to generate your
    // client id, client secret, and to register your redirect uri.
    $client->setClientId('xxxxx.apps.googleusercontent.com');
    $client->setClientSecret('xxxxx');
    $client->setRedirectUri('http://xxxxx.de');
    $client->setDeveloperKey('xxxxx');
    
    $cal = new Google_CalendarService($client);
    if (isset($_GET['logout'])) {
        unset($_SESSION['token']);
    }
    if (isset($_GET['code'])) {
        $client->authenticate($_GET['code']);
        $_SESSION['token'] = $client->getAccessToken();
        header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
    }
    if (isset($_SESSION['token'])) {
        $client->setAccessToken($_SESSION['token']);
    }
    if ($client->getAccessToken()) {
        $calList = $cal->calendarList->listCalendarList();
        print "<h1>Calendar List</h1><pre>" . print_r($calList[items][4], true) . "</pre>";
        $event = new Google_Event();
        $event->setSummary('Testevent');
        $event->setLocation('Daheim');
        $start = new Google_EventDateTime();
        $start->setDateTime('2012-11-03T02:00:00.000-05:00');
        $event->setStart($start);
        $end = new Google_EventDateTime();
        $end->setDateTime('2012-11-03T02:25:00.000-05:00');
        $event->setEnd($end);
        $attendee1 = new Google_EventAttendee();
        $attendee1->setEmail('xxxxx@gcffm.de');
        $attendees = array($attendee1);
        $event->attendees = $attendees;
        $event->setDescription("Irgend ein Text");
        
        $createdEvent = $cal->events->insert('xxxxxxxxxxxxxxxxxxxxxxxxxx@group.calendar.google.com', $event); //Returns array not an object
        echo $createdEvent->id;
        echo 'Done!';
    } else {
        $authUrl = $client->createAuthUrl();
        print "<a class='login' href='$authUrl'>Connect Me!</a>";
    }
?>
 
          
 Google Kalender API
									
									
									Google Kalender API
								 
							
						
Kommentar