緣由
Google Calendar API 目前文件版本在Events Update上竟然沒說明DateTime的相關set方法。
基本文件
以上目前版本並無提及如何Update Start & End DateTime,僅提到使用nested object型態。
PHP範例CODE
// First retrieve the event from the API.
$event = $service->events->get('primary', 'eventId');
$event->setSummary('Appointment at Somewhere');
// DateTime nested object method
$start = new Google_Service_Calendar_EventDateTime();
$start->setTimeZone('Asia/Taipei');
$start->setDateTime('2017-04-25T19:15:00');
$event->setStart($start);
$updatedEvent = $service->events->update('primary', $event->getId(), $event);
// Print the updated date.
echo $updatedEvent->getUpdated();
從Error Message可以知道setStart
或setEnd
要使用 Google_Service_Calendar_EventDateTime()
...,
物件指向設定方式
文件沒提到,另一個直覺的想法就是這樣了:
$event->start->timeZone = 'Asia/Taipei';
$event->start->dateTime = '2017-05-12T19:15:00';
DateTime格式使用ISO,Date的格式寫入部分要小心有雷,寫DateTime就好。
以上不解釋...夠雷