2016-09-20 4 views
0

Ich habe eine PHP-Datei, die ein Ereignis in meinem Google Kalender erfolgreich aus Daten erstellt von meinem CRM erstellt, jedoch kann ich keine Dokumentation darüber finden, wie es geht retreive die ID des gerade erstellten Ereignisses und gibt eine JSON-Datenzeichenfolge zurück.So rufen Sie die Google Kalender-Ereignis-ID nach dem Erstellen des Ereignisses in PHP ab

Hier ist meine aktuelle PHP-Datei.

<?php 

require_once __DIR__ . '/google-api-php-client/src/Google/autoload.php'; 

$summary = $_POST["summary"]; 
$location = $_POST["location"]; 
$description = $_POST["description"]; 
$startdatetime = $_POST["startdatetime"]; 
$enddatetime = $_POST["enddatetime"]; 



$client_email = '[email protected]'; 
$private_key = file_get_contents('xxxxxx.p12'); 
$scopes = array('https://www.googleapis.com/auth/calendar'); 
$user_to_impersonate = '[email protected]'; 
$credentials = new Google_Auth_AssertionCredentials(
    $client_email, 
    $scopes, 
    $private_key, 
    'notasecret',         // Default P12 password 
    'http://oauth.net/grant_type/jwt/1.0/bearer', // Default grant type 
    $user_to_impersonate 
); 
$client = new Google_Client(); 
$client->setAssertionCredentials($credentials); 
if ($client->getAuth()->isAccessTokenExpired()) { 
    $client->getAuth()->refreshTokenWithAssertion(); 
} 
$event = new Google_Service_Calendar_Event(array(
    'summary' => $summary, 
    'location' => $location, 
    'description' => $description, 
    'start' => array(
    'dateTime' => $startdatetime, 
    'timeZone' => 'America/Los_Angeles', 
), 
    'end' => array(
    'dateTime' => $enddatetime, 
    'timeZone' => 'America/Los_Angeles', 
), 
    'reminders' => array(
    'useDefault' => FALSE, 
), 
)); 
$service = new Google_Service_Calendar($client); 
$calendarId = '[email protected]'; 
$event = $service->events->insert($calendarId, $event); 

Antwort

0

Wenn Sie die entsprechenden calendarID kennen, können Sie Events: list verwenden.

Durch Senden der HTTP-Anforderung mit dem Parameter calendarId können Sie eventId abrufen. Anfrage wie:

GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events

Wenn Anfrage erfolgreich ist, kann dieses Verfahren gibt eine Antwort Körper mit entweder einzelnen einmaligen Ereignissen und Fällen von wiederkehrenden Ereignissen.

Beispiel PHP-Code für diese:

$events = $service->events->listEvents('primary'); 

while(true) { 
    foreach ($events->getItems() as $event) { 
    echo $event->getSummary(); 
    } 
    $pageToken = $events->getNextPageToken(); 
    if ($pageToken) { 
    $optParams = array('pageToken' => $pageToken); 
    $events = $service->events->listEvents('primary', $optParams); 
    } else { 
    break; 
    } 
} 
Verwandte Themen