iCal4j更新和删除iCalendar中的VEvents

时间:2014-03-27 22:27:28

标签: java icalendar ical4j

我正在创建一个创建多个VEvent的应用程序,它还需要能够更新和取消。在我搜索这些信息的任何地方,没有人真正展示过任何带有Java的代码,只是用文字解释了需要做什么。所以我做了我认为应该是对的。以下是我得到的。首先我创建了VEvents而不是尝试删除它们,但是当我打开ics文件时,日历仍然显示了那些VEvents。你觉得怎么了?我怎样才能完成我的需要?此外,我的应用程序不关心发送邀请或类似的事情,这些事件应该只显示在打开文件的日历中。

BEGIN:VCALENDAR
PRODID:-//Ben Fortuna//iCal4j 1.0//EN
VERSION:2.0
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20140327T221422Z
DTSTART:20140402T060000
DURATION:PT1H
SUMMARY:jTextField2
SEQUENCE:0
DESCRIPTION:description
UID:jTextField21
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20140327T221422Z
DTSTART:20140403T060000
DURATION:PT1H
SUMMARY:jTextField2
SEQUENCE:0
DESCRIPTION:description
UID:jTextField22
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20140327T221422Z
DTSTART:20140404T060000
DURATION:PT1H
SUMMARY:jTextField2
SEQUENCE:0
DESCRIPTION:description
UID:jTextField23
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20140327T221422Z
UID:jTextField21
STATUS:CANCELLED
SEQUENCE:1
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20140327T221422Z
UID:jTextField22
STATUS:CANCELLED
SEQUENCE:1
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20140327T221422Z
UID:jTextField23
STATUS:CANCELLED
SEQUENCE:1
END:VEVENT
END:VCALENDAR

1 个答案:

答案 0 :(得分:2)

这个icalendar流如何传播到客户端?

如果它只是存储在日历客户端使用HTTP GET订阅的某个Web服务器上的ics文件,则客户端通常会轮询文件中的更改。不再属于该流的事件将隐式消失。

如果客户以其他方式(例如通过电子邮件)使用iCalendar流,请指明方式。

在任何情况下,在不同状态下多次使用具有相同事件(相同UID)的单个流不是传播更改的方式。