如何使用Zend_Gdata获取Google Calendar事件startime?

sta*_*wek 0 php calendar zend-framework gdata

目前我正在开发项目,我需要使用API​​访问Google Calenadar数据 - 一切正常但我无法获得事件开始时间/结束时间 - 最重要的信息.

我正在使用Zend框架和Zend_Gdata库,遗憾的是zend的文档并不详细

如何获得所需的事件数据?或者我应该使用另一个图书馆?

这是我获取事件Feed的功能:

public function getEvents($future_only = TRUE,$force_refresh = FALSE) {

    if (($this->events != NULL) && $force_refresh == FALSE) {
        return $this->events;
    } else {
        if ($this->getService() != NULL) {
            $service = $this->getService();
            try {

                $query = $service->newEventQuery($this->url);
                $query->setUser(null);
                $query->setProjection(null);
                $query->setVisibility(null);
                $query->setOrderby('starttime');
                if ($future_only) {
                    $query->setFutureevents('true');
                } else {
                    $query->setFutureevents('false');
                }

                $event_feed = $service->getCalendarEventFeed($query);

                $this->events = $event_feed;

                return $event_feed;
            } catch (Exception $exc) {
                .
                .
                .
                return NULL;
            }
        } else {
            return NULL;
               }
           }
        }
Run Code Online (Sandbox Code Playgroud)

并尝试测试代码,我正在尝试获取事件信息:

       $gcalendar = new  Common_Model_GoogleCalendar();

             $events = $gcalendar->getEvents();

            if($events){

            foreach ($events as $evt) {
                echo $evt->title.'<br />';
                echo $evt->id.'<br />';
                echo $evt->published.'<br />';
                Zend_Debug::dump($evt->getWhen());       //returns empty array

            }
            }
Run Code Online (Sandbox Code Playgroud)

Tec*_*ypo 5

不确定你是否已经对此进行了排序,但除了@Ashley的贡献之外,这是如何开始getWhen()工作:

$when = $evt->getWhen();
echo $when[0]->getStartTime();
echo $when[0]->getEndTime();
Run Code Online (Sandbox Code Playgroud)