Google api 更新和事件开始/结束时间Google日历,v3 api
我正在使用GoogleAPI PHP客户端和GoogleCalendar 我现在在创建事件时遇到问题,但是当我尝试更新datetime开始/结束时,调用失败,事件没有更新 我只成功更新了摘要,但无法更新开始/结束时间Google api 更新和事件开始/结束时间Google日历,v3 api,google-api,google-calendar-api,google-api-php-client,Google Api,Google Calendar Api,Google Api Php Client,我正在使用GoogleAPI PHP客户端和GoogleCalendar 我现在在创建事件时遇到问题,但是当我尝试更新datetime开始/结束时,调用失败,事件没有更新 我只成功更新了摘要,但无法更新开始/结束时间 private function _update_google_event($eventId = '', $updateData = array()) { if(strlen($eventId) == 0 || empty($updateData)) return false;
private function _update_google_event($eventId = '', $updateData = array())
{
if(strlen($eventId) == 0 || empty($updateData)) return false;
$calendar = $this->_get_gcal();
//First get the event
$event = $calendar->events->get($this->calendar_id, $eventId);
var_dump($event->getId());
if(isset($updateData['summary'])) {
$event->setSummary($updateData['summary']);
}
if(isset($updateData['location'])) {
$event->setLocation($updateData['location']);
}
var_dump($event->getEnd());
/*
if(isset($updateData['start'])) {
$start = new Google_Service_Calendar_EventDateTime();
$start->setDateTime($updateData['start']);
$event->setStart($start);
}
*/
if(isset($updateData['end'])) {
var_dump(new Google_EventDateTime());
$end = new Google_Service_Calendar_EventDateTime();
var_dump($end->setDateTime($updateData['end']));
$end->setDateTime($updateData['end']);
var_dump($event->setEnd($end));
}
//Update Sequence
$event->setSequence($event->getSequence() + 1);
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n";
//var_dump($event);
//Send the update request
//$updatedEvent = new Google_Service_Calendar_Event($calendar->events->update($this->calendar_id, $event->getId(), $event));
$updatedEvent = $calendar->events->update($this->calendar_id, $event->getId(), $event);
echo $updatedEvent->getUpdated();
return false;
}
我已经看到一些关于更新事件的堆栈溢出问题,其中提到需要更新序列号,所以我已经这样做了,但它并没有改变开始/结束时间
如有任何提示,将不胜感激。
如果有任何其他细节可以帮助,请直接询问
谢谢大家! 我意识到我的问题不在于函数,而在于我传递的数据本身 $updateData['start']和$updateData['end']作为DateTime对象传递。我使用DateTime::format解决了这个问题,然后将其传递到函数中