我在Google Calendar上使用JAVA和gdata api。 我正在尝试从公共日历中检索事件位置。这是我的方法:
private static void getCalendarEvents (CalendarService service, URL feedURL)
throws IOException, ServiceException{
CalendarFeed resultFeed = service.getFeed(feedURL, CalendarFeed.class);
for(int i = 0; i < resultFeed.getEntries().size(); i++){
CalendarEntry entry = resultFeed.getEntries().get(i);
System.out.println("\t" + entry.getLocations());
}
在我的控制台中,对于“entry.getLocation()”部分,我不断获得如下输出:
[com.google.gdata.data.extensions.Where@1f3785d3]
[com.google.gdata.data.extensions.Where@1f3785d3]
....
根据描述,该方法应返回List类型,但显然我没有得到它。 任何人都知道我为什么会得到这个价值?或者我如何获得正确的返回值?
另请参阅Google Code上的CalendarEntry.class代码: http://www.google.com/codesearch#EOYaOg_yTgg/trunk/java/src/com/google/gdata/data/calendar/CalendarEntry.java
非常感谢。
好的,谢谢!我发布的代码无法在此处检索事件的日期,请查看。 首先是我的getEventDates.class返回When对象列表:
private static List<When> getEventDates(CalendarEntry entry){
return entry.getRepeatingExtension(When.class);
}
我在下面打电话:
for(int i = 0; i < resultFeed.getEntries().size(); i++){
CalendarEntry entry = resultFeed.getEntries().get(i);
List<When> timeList = getEventDates(entry);
System.out.println("\t" + i+". "+entry.getTitle().getPlainText() + "\t" + timeList.get(0).getValueString());
}
这项最完成的工作......这意味着,我在timeList中获得了所有“null”。 我只想把内容放在xml中,请给我一些提示。 非常感谢!!
答案 0 :(得分:0)
对entry.getLocations()的调用会返回您可以迭代的Where对象的列表。
例如,您可以使用每个Where实例的getValueString()方法来获取包含该位置的文本描述的字符串。
有关Where类的定义,请参阅http://code.google.com/p/gdata-java-client/source/browse/trunk/java/src/com/google/gdata/data/extensions/Where.java。