2012-11-26 111 views
1

我嘗試使用谷歌PHP庫,使用此代碼設置日曆提醒:谷歌日曆 - 與設置Google_EventReminders麻煩

 $rem = new Google_EventReminders(); 
     $rem->setUseDefault('false'); 
     $overrides = array("method"=> "popup","minutes" => "15"); 
     $rem->setOverrides($overrides); 
     $event->setReminders($rem); 

我發送到API的事件包含以下數據:

[reminders] => Google_EventReminders Object 
    (
     [__overridesType:protected] => Google_EventReminder 
     [__overridesDataType:protected] => array 
     [overrides] => Array 
      (
       [method] => popup 
       [minutes] => 15 
      ) 

     [useDefault] => false 
    ) 

但事件本身並未出現在我的日曆中並伴有提醒。

任何指針我做錯了v.gratefully收到。謝謝你,託尼

+1

確定...解決了這個問題:$Ø verrides = array(array(「method」=>「popup」,「minutes」=>「15」)); ...即覆蓋是一個複數 - 它們本身就是一個數組。希望我的發現過程對其他人有用 –

+0

謝謝!這很有用! – damko

回答

0

你要通過提醒的陣列setReminders方法,如下面的例子:

<?php 
    $reminder = new Google_EventReminders(); 
    $reminder->setUseDefault(false); 
    $overrides = array("method"=> "popup","minutes" => "15"); 
    $reminder->setOverrides(array($overrides)); 
    $event->setReminders($reminder); 
?> 

在Google_EventReminders類,方法setOverrides只接受提醒的數組(該方法assertIsArray),以驗證這些設置,如下圖所示:

<?php 
public function setOverrides(/* array(Google_EventReminder) */ $overrides) { 
    $this->assertIsArray($overrides, 'Google_EventReminder', __METHOD__); 
    $this->overrides = $overrides; 
} 
?>