2009-08-17 54 views
5

我试图从Google日历帐户中显示未来20天的活动列表。令人愤怒的经常性事件没有被显示(我假定,因为他们的开始时间是旧的)...所以。有任何想法吗?Google日历 - 显示像正常事件一样的重复性事件

require_once dirname(__FILE__).'/../../../Zend/Loader.php'; 
Zend_Loader::loadClass('Zend_Gdata'); 
Zend_Loader::loadClass('Zend_Gdata_HttpClient'); 
Zend_Loader::loadClass('Zend_Gdata_Calendar'); 

$service = new Zend_Gdata_Calendar(); 

$query = $service->newEventQuery(); 
$query->setUser('REMOVED'); 
$query->setVisibility('public'); 
$query->setProjection('full'); 
$query->setOrderby('starttime'); 
$query->setSortOrder('ascending'); 
$query->setFutureevents('true'); 
$query->setMaxResults(20); 

try { $eventFeed = $service->getCalendarEventFeed($query); } 
catch (Zend_Gdata_App_Exception $e) { return; } 

我愿意接受任何替代方法,使我的所有公共活动按升序排列。我试过RSS,但日期似乎是他们被添加到日历的时间。

+1

借调。我还没有找到一个单日历提要(iCal,谷歌日历,XML)库,这样做很好。 – xkcd150 2009-08-18 17:13:21

回答

6

投影是我以前玩过的东西。它没有帮助(除非我想手动解析和爆炸重复性事件)。但that link是金色的。

$query->setParam('singleevents','true'); 

从自己的文件:

singleevents

表示重复事件 是否应扩大或表示为 单一事件。

有效值为真(展开 重复事件)或错误(将 重复事件表示为单个 事件)。默认为false。

在我看来,false是一个愚蠢的默认,但嘿嘿。它现在似乎工作!