我创建了一个从雅虎获取日历数据(VEvents)的客户端。现在我需要能够更新现有的或创建新的事件,并‘发布’它,从雅虎日历可见。
这可以使用ical4j完成吗?或者我需要找到其他方法来完成它?
发布于 2017-02-21 18:41:45
好吧,我找到了这样做的方法。问题是对于CalDavCollection来说,你实际上不能直接添加事件,你需要将它添加为日历。正在运行的代码:
public void addEvent(VEvent event, VTimeZone timezone){
try {
Calendar calendar = new Calendar();
calendar.getProperties().add(new ProdId(prodId));
calendar.getProperties().add(Version.VERSION_2_0);
calendar.getProperties().add(CalScale.GREGORIAN);
calendar.getComponents().add(event);
collection.add(httpClient, calendar);
} catch (CalDAV4JException e) {
e.printStackTrace();
}
}队列中的“prodId”
calendar.getProperties().add(new ProdId(prodId));是日历提供者的prodId (在我的例子中它是PRODID://Yahoo// Calendar //EN)
该集合是CalDavCollecion的实例,它与特定的日历相关,因此只需在其中添加包含新事件的日历,就可以将其添加到服务器的正确日历中。
https://stackoverflow.com/questions/42338886
复制相似问题