Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用Zend_Gdata获取Google日历事件开始时间?_Php_Zend Framework_Calendar_Gdata - Fatal编程技术网

Php 如何使用Zend_Gdata获取Google日历事件开始时间?

Php 如何使用Zend_Gdata获取Google日历事件开始时间?,php,zend-framework,calendar,gdata,Php,Zend Framework,Calendar,Gdata,目前我正在进行一个项目,我需要使用API访问Google Calenadar数据-一切正常,但我无法获取事件开始时间/结束时间-最重要的信息 我正在使用Zend框架和Zend_Gdata库,不幸的是Zend的文档并不详细 如何获取所需的事件数据?或者我应该使用另一个图书馆 以下是我获取事件提要的函数: public function getEvents($future_only = TRUE,$force_refresh = FALSE) { if (($this->events

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

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

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

以下是我获取事件提要的函数:

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;
               }
           }
        }
以及我试图获取事件信息的示例测试代码:

       $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

            }
            }
$gcalendar=new Common_Model_GoogleCalendar();
$events=$gcalendar->getEvents();
如果($事件){
foreach($evt形式的事件){
echo$evt->title.“
”; echo$evt->id.
; echo$evt->已发布。“
”; Zend_Debug::dump($evt->getWhen());//返回空数组 } }
您的变量
$events
将是
Zend\u Gdata\u Calendar\u EventEntry
的一个实例,该实例继承了
Zend\u Gdata\u Kind\u EventEntry
函数,该函数具有
getWhen

即:

$when=$evt->getWhen()


您的变量
$events
将是
Zend\u Gdata\u Calendar\u EventEntry
的一个实例,它继承了
Zend\u Gdata\u Kind\u EventEntry
函数,该函数具有
getWhen

即:

$when=$evt->getWhen()


不确定您现在是否已经对其进行了排序,但除了@Ashley的贡献之外,以下是如何让
getWhen()
工作:

$when = $evt->getWhen();
echo $when[0]->getStartTime();
echo $when[0]->getEndTime();

不确定您现在是否已对此进行了排序,但除了@Ashley的贡献之外,以下是如何使
getWhen()
正常工作的方法:

$when = $evt->getWhen();
echo $when[0]->getStartTime();
echo $when[0]->getEndTime();

不幸的是,这是我现在正在做的,似乎不起作用-请参阅我的示例测试代码。不幸的是,这是我现在正在做的,似乎不起作用-请参阅我的示例测试代码。