如何以编程方式使用 ical 从重复集中删除单个事件?

2024-04-02

我在 10,11 日创建了一个重复事件,请参见下文,我想删除第 10 个事件,因此我使用了方法:取消,但由于 UID 相同,两条记录都将被删除。如何只删除一条记录,我应该使用任何其他值(例如 UID)吗?

BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 9.0 MIMEDIR//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH

BEGIN:VEVENT
DTSTART:20150910T100000
DTSTAMP:20150910T115449Z
RRULE:FREQ=DAILY;INTERVAL=1;UNTIL=20150911T110000
UID:78163local
Location: Test
DESCRIPTION:test
LAST-MODIFIED:20150910T115449Z
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:service
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR

取消活动代码:

BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 9.0 MIMEDIR//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:CANCEL
BEGIN:VEVENT
DTSTART:20150910T100000
DTEND:20150911T110000
DTSTAMP:20150910T115714Z

UID:78163local
Location: Test
DESCRIPTION:Test
LAST-MODIFIED:20150910T115714Z
SEQUENCE:1
STATUS:CANCELLED
SUMMARY:service
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR

如果您只想删除一个实例,则需要指定要删除的实例的 RECURRENCE-ID。

实例的 RECURRENCE-ID 对应于该实例的原始 DTSTART。因此,就您而言,您的取消应该类似于:

DTSTART:20150910T100000
RECURRENCE-ID:20150910T100000

也可以看看https://www.rfc-editor.org/rfc/rfc5546#section-4.4.3 https://www.rfc-editor.org/rfc/rfc5546#section-4.4.3

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以编程方式使用 ical 从重复集中删除单个事件? 的相关文章

随机推荐