2016-09-20 35 views
0

私のCRMから投稿されたGoogleカレンダーのイベントを正常に作成するPHPファイルがあります。作成したイベントのIDを取得し、JSONデータ文字列を返します。PHPでイベントを作成した後にGoogleカレンダーのイベントIDを取得する方法

ここに私の現在のPHPファイルがあります。

<?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]nlikelylegendsmedia.com'; 
$event = $service->events->insert($calendarId, $event); 

答えて

0

あなたが対応するcalendarIDがわかっている場合は、Events: listを使用することができます。

calendarIdパラメータでHTTPリクエストを送信すると、eventIdを取得できます。以下のような要求:

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

要求が成功した場合、このメソッドは、単一の単発のイベントとイベントの繰り返しのインスタンスのいずれかでレスポンスボディを返すことがあります。このため

サンプルPHPコード:

$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; 
    } 
} 
関連する問題