2013-10-03 63 views
2

我想使用google api將活動添加到Google日曆中。 但是在創建事件後,邀請電子郵件不會發送給與會者的電子郵件列表。 這裏是我的代碼:Google日曆API-邀請電子郵件在創建活動時不會發送給與會者

<?php 
    require_once '../../src/Google_Client.php'; 
    require_once '../../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('309388785502.apps.googleusercontent.com'); 
    $client->setClientSecret('hvJQUDYz4rY0HiYcgS46yxB-'); 
    $client->setRedirectUri('http://localhost/GoogleApi/google-api-php-client/examples/calendar/simple.php'); 
    $client->setDeveloperKey('AIzaSyAbBRxRKM9mkXKA17Bruul6lCq-vhR6gqc'); 
    $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()) { 

    $event = new Google_Event(); 
     $event->setSummary('Halloween3'); 
     $event->setLocation('The Neighbourhood'); 
     $start = new Google_EventDateTime(); 
     $start->setDate('2013-10-3'); 
     $event->setStart($start); 
     $end = new Google_EventDateTime(); 
     $end->setDate('2013-10-3'); 
     $event->setEnd($end); 
     $event->sendNotifications=true; 
     $event->maxAttendees=2; 
     $attendee1 = new Google_EventAttendee(); 
     $attendee2 = new Google_EventAttendee(); 
    $attendee1->setEmail("cuong***[email protected]"); 
    $attendee2->setEmail("webtr***@gmail.com"); 
    $attendees = array($attendee1,$attendee2); 
    $event->attendees = $attendees; 

     $createdEvent = $cal->events->insert('primary', $event); 

    $_SESSION['token'] = $client->getAccessToken(); 
    } else { 
     $authUrl = $client->createAuthUrl(); 
     print "<a class='login' href='$authUrl'>Connect Me!</a>"; 
    } 

?> 

所以我的問題是如何從API創建的事件後發送電子郵件給與會者名單? 謝謝。

回答

6

插入方法有一個可選的參數:

/** 
* Creates an event. (events.insert) 
* 
* @param string $calendarId Calendar identifier. 
* @param Google_Event $postBody 
* @param array $optParams Optional parameters. 
* 
* @opt_param int maxAttendees The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. 
* @opt_param bool sendNotifications Whether to send notifications about the creation of the new event. Optional. The default is False. 
* @return Google_Event 
*/ 

所以我用這種方式解決:

[... ]$event->attendees = $attendees; 

$optionaArguments = array("sendNotifications"=>true); 
$createdEvent = $cal->events->insert($idCalendario, $event, $optionaArguments); 
[...] 

現在,與會者收到一封電子郵件,其中的.ics文件中像谷歌從一個正常的邀請日曆

相關問題