Google日历API -更新事件开始&结束日期/时间


Google Calendar API - Updating an Events start & end date/time

Google API的示例/演示代码非常清楚如何更新事件标题,似乎每个人都喜欢将其复制到自己的教程中…我可以使用该示例轻松地更新事件的标题、描述和位置,但我不能使用它来更新"when"属性,该属性由包含开始和结束日期/时间的数组组成。

下面的代码不返回错误,但也不更新日期和时间:

if ($eventOld = getEvent($client, $eventId)) {
        //echo "Old title: " . $eventOld->title->text . "<br />'n";
        $eventOld->title = $gdataCal->newTitle($title);
        $eventOld->where = array($gdataCal->newWhere($where));
        $eventOld->content = $gdataCal->newContent("$description");
        $eventOld->when[startTime] = "{$startDate}T{$startTime}:00.000{$tzOffset}:00";
        $eventOld->when[endTime] = "{$endDate}T{$endTime}:00.000{$tzOffset}:00";
        print $startDate;
        try 
        {
            $eventOld->save();
        } 
        catch (Zend_Gdata_App_Exception $e) 
        {
            var_dump($e);
            return null;
        }
        //return $eventNew;
    }
    else 
    {
        return null;
    }

您提交给错误的变量,$eventOld在进行更改之前创建一个新的变量,然后提交你的数据。

$eventNew = getEvent($client, $eventId)
$eventNew->when[startTime] = "{$startDate}T{$startTime}:00.000{$tzOffset}:00";
$eventNew->when[endTime] = "{$endDate}T{$endTime}:00.000{$tzOffset}:00";

when是startTime/endTime对的数组。