2011-07-14 47 views
0

儘管以下代碼段成功將其他客人添加到Google日曆事件,但並未向他們發送事件的電子郵件通知。有人可以告訴我是否可以發送電子郵件給新客人嗎?Zend Gdata日曆事件更新不發送電子郵件通知

 $service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME; // predefined service name for calendar 
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service); 

function sendInvite($eventId, $email) 
{ 
    $gdataCal = new Zend_Gdata_Calendar($client); 
    if($eventOld = $this->getEvent($eventId)) 
    { 

     $who = $gdataCal->newwho(); 
     $who->setEmail($email); 

     $eventOld->setWho(array_merge(array($who), $eventOld->getWho())); 

     try 
     { 
      $eventOld->save(); 
     } catch(Zend_Gdata_App_Exception $e) 
     { 
      return false; 
     } 

     return true; 
    } else 
     return false; 
} 

function getEvent($eventId) 
{ 
    $gdataCal = new Zend_Gdata_Calendar($client); 
    $query = $gdataCal->newEventQuery(); 
    $query->setUser('default'); 
    $query->setVisibility('private'); 
    $query->setProjection('full'); 
    $query->setEvent($eventId); 
    try 
    { 
     $eventEntry = $gdataCal->getCalendarEventEntry($query); 
     return $eventEntry; 
    } catch(Zend_Gdata_App_Exception $e) 
    { 
     return null; 
    } 
} 

回答

1

終於搞明白了。

public function sendInvite($eventId, $email) 
{ 
    $gdataCal = new Zend_Gdata_Calendar($this->client); 

    if($eventOld = $this->getEvent($eventId)) 
    { 
     $SendEventNotifications = new Zend_Gdata_Calendar_Extension_SendEventNotifications(); 
     $SendEventNotifications->setValue(true); 
     $eventOld->SendEventNotifications = $SendEventNotifications; 
     $who = $gdataCal->newwho(); 
     $who->setEmail($email); 

     $eventOld->setWho(array_merge(array($who), $eventOld->getWho())); 

     try 
     { 
      $eventOld->save(); 
     } catch(Zend_Gdata_App_Exception $e) 
     { 
      return false; 
     } 

     return true; 
    } else 
     return false; 
} 
相關問題