2011-10-01 21 views
0

我使用這個代碼讓谷歌日曆列表:如何從Java日曆中獲取事件?

// Create a CalenderService and authenticate 
CalendarService myService = new CalendarService("exampleCo-exampleApp-1"); 
myService.setUserCredentials("[email protected]", "mypassword"); 

// Send the request and print the response 
URL feedUrl = new URL("https://www.google.com/calendar/feeds/default/allcalendars/full"); 
CalendarFeed resultFeed = myService.getFeed(feedUrl, CalendarFeed.class); 
System.out.println("Your calendars:"); 
System.out.println(); 
for (int i = 0; i < resultFeed.getEntries().size(); i++) { 
    CalendarEntry entry = resultFeed.getEntries().get(i); 
    System.out.println("\t" + entry.getTitle().getPlainText()); 
} 

此代碼返回我的日曆列表中,但我需要從這個日曆今天的所有事件。我怎樣才能做到這一點?

回答

1

如果您使用示例程序開始,請使用..../private/full從Calendar獲取事件。

例如:

"https://www.google.com/calendar/feeds/[email protected]/private/full"); 
0

您也可以使用這個默認的網址,而不是指定[email protected]

"https://www.google.com/calendar/feeds/default/private/full" 

而且我認爲你應該使用CalendarEventFeed對象,而不是CalendarFeed 查看下面的代碼片段:

CalendarQuery myQuery = new CalendarQuery(feedUrl); 
myService.setUserCredentials(p.getgUser(), p.getgPassword()); 

DateTime dt = new DateTime(); 
myQuery.setMinimumStartTime(DateTime.now()); 
myQuery.setMaximumStartTime(dt); 

CalendarEventFeed resultFeed = myService.query(myQuery, CalendarEventFeed.class); 

然後遍歷的resultFeed

內容.....

CalendarEventFeed resultFeed = calendarData 

for (int i = 0; i<calendarData.getEntries().size(); i++) { 
      CalendarEventEntry entry = calendarData.getEntries().get(i); 

.....

相關問題