此問題的解決方案是在設置循環之前設置事件的時區。
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);
它不適用於或不適用RRULE值。我懷疑格式是完全錯誤的。我在搜索答案的幾個小時內沒有找到任何結果,他們的php類文檔很少,日曆API的示例代碼爲零。 – clutterjoe
實際上,該字段的語法早於Google日曆甚至PHP。見例如的iCalendar。 http://tools.ietf.org/html/rfc2445 –
嘗試用「newReccurrence」(而不是'array')創建一個遞歸規則,然後以某種方式分配它,也許用setRecurrence。 –