2010-05-17 6 views
1

JAVA의 Google 캘린더 API에서 여러 정보를 얻으려고합니다. 이벤트 시간에 대한 정보에 액세스하려고 시도하는 동안 문제가 발생했습니다. CalendarEventEntry에 getTimes 얻을Google 캘린더 API "getTimes()"메소드의 문제점

CalendarService myService = new CalendarService("project_name"); 
myService.setUserCredentials("user", "pwd"); 
URL feedUrl = new URL("http://www.google.com/calendar/feeds/default/private/full"); 
CalendarQuery q = new CalendarQuery(feedUrl); 
CalendarEventFeed resultFeed = myService.query(q, CalendarEventFeed.class); 
for (int i = 0; i < resultFeed.getEntries().size(); i++) { 
       CalendarEventEntry g = resultFeed.getEntries().get(i); 
List<When> t = g.getTimes(); 
//other operations 
} 

목록의 t()는 항상 빈 나는 이유를 알아낼 수 없습니다 있다 : 나는 다음을 수행합니다. 캘린더 이벤트 이후로 나에게 이상한 것 같습니다. 언제 일어날 지에 대한 설명이 항상 존재해야합니다 ... 나는 무엇을 놓치고 있습니까 ??

답변

1

당신은 반복 이벤트 대인지 또는 단일 시간 이벤트를해야 :

getTimes가 단일 시간 이벤트에 사용됩니다.

CalendarQuery q = new CalendarQuery(feedUrl); 
q.setStringCustomParameter("singleevents", "true"); 
CalendarEventFeed resultFeed = myService.query(q, CalendarEventFeed.class); 
// process the results as single-events now... 
:

반복 이벤트의 경우는 사실, 그래서 반복 이벤트가 비어 있지 않은 목록을 반환 한 이벤트와 getTimes로 반환됩니다에 당신이 singleevents 속성을 설정할 수 있습니다, getRecurrence()

을 사용하거나

참조 : "singleevents"텍스트 here을 찾습니다.

참고 : 마법 쿠키 URL을 사용하여 피드에 액세스하면 검색어에 singleevents 속성을 설정 한 방법과 관계없이 반복 이벤트가 항상 되풀이 이벤트로 반환됩니다.