是否可以使用ICAL4J创建或更新事件



我创建了一个从yahoo获取日历数据(vevents)的客户端。现在,我需要能够更新现有事件或创建新事件并"发布" IT,从Yahoo日历可见。

可以使用ICAL4J来完成此操作,或者我需要找到其他方法?

好吧,我找到了一种方法。问题在于,对于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的实例,与特定日历有关,因此只需在内部使用新事件添加日历,就会将其添加到正确的日历中。

相关内容

  • 没有找到相关文章

最新更新