2009-08-17 106 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是一個愚蠢的默認,但嘿嘿。它現在似乎工作!