2011-11-30 172 views
1

我是新來的谷歌API(V3),我想創建一個定期事件。谷歌日曆API v3 setRecurrence

我可以授權用戶並創建一個事件,但重複只是不會採取。我不確定如何將遞歸數組傳遞給方法setRecurrence()。

$event->setRecurrence(array('RRULE'=>'RRULE:FREQ=DAILY;UNTIL=20111205T000000Z')); 

任何人都知道這個答案嗎? TIA!

回答

0

此問題的解決方案是在設置循環之前設置事件的時區。

require_once "./google-api-php-client-read-only/src/apiClient.php"; 
require_once "./google-api-php-client-read-only/src/contrib/apiCalendarService.php"; 

$event = new Event(); 
$event->setSummary('Event Name'); 

$event->setLocation('Event Address;City, State Zip); 

$start = new EventDateTime(); 
$start->setDateTime('2011-12-25 10:00:00:000 -0050'); 
$start->setTimeZone('America/New_York'); 

$event->setStart($start); 

$end = new EventDateTime(); 
$end->setDateTime('2011-12-25 13:00:00:000 -0050'); 
$end->setTimeZone('America/New_York'); 

$event->setEnd($end); 

$event->setRecurrence(array('RRULE:FREQ=DAILY;UNTIL=20111229T130000Z;')); 

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

爲什麼RRULE:再次值?值應格式化爲http://tools.ietf.org/html/rfc2445

+0

它不適用於或不適用RRULE值。我懷疑格式是完全錯誤的。我在搜索答案的幾個小時內沒有找到任何結果,他們的php類文檔很少,日曆API的示例代碼爲零。 – clutterjoe

+0

實際上,該字段的語法早於Google日曆甚至PHP。見例如的iCalendar。 http://tools.ietf.org/html/rfc2445 –

+0

嘗試用「newReccurrence」(而不是'array')創建一個遞歸規則,然後以某種方式分配它,也許用setRecurrence。 –