Php 如何使用Zend_Gdata获取Google日历事件开始时间?
目前我正在进行一个项目,我需要使用API访问Google Calenadar数据-一切正常,但我无法获取事件开始时间/结束时间-最重要的信息 我正在使用Zend框架和Zend_Gdata库,不幸的是Zend的文档并不详细 如何获取所需的事件数据?或者我应该使用另一个图书馆 以下是我获取事件提要的函数: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
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();
不幸的是,这是我现在正在做的,似乎不起作用-请参阅我的示例测试代码。不幸的是,这是我现在正在做的,似乎不起作用-请参阅我的示例测试代码。