Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Outlook 如何以编程方式使用ical从循环集中删除单个事件?_Outlook_Icalendar_Recurrence_Vcalendar_Recurring Events - Fatal编程技术网

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

Outlook 如何以编程方式使用ical从循环集中删除单个事件?,outlook,icalendar,recurrence,vcalendar,recurring-events,Outlook,Icalendar,Recurrence,Vcalendar,Recurring Events,我在11月10日创建了一个重复的ical事件,请参见下文,我想删除第10个事件,所以我使用了方法:Cancel,但由于UID相同,两条记录都被删除。如何仅删除一条记录,是否应使用任何其他值(如UID) BEGIN:VCALENDAR PRODID:-//Microsoft Corporation//Outlook 9.0 MIMEDIR//EN VERSION:2.0 CALSCALE:GREGORIAN METHOD:PUBLISH BEGIN:VEVENT DTSTART:20150910

我在11月10日创建了一个重复的ical事件,请参见下文,我想删除第10个事件,所以我使用了方法:Cancel,但由于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

另请参见

您需要有Recurse-ID,我发现的其他可能的方法是删除使用相同UID创建的另一个recur ical,并使用方法作为请求而不是发布,它删除旧的recur事件,并使用新事件更新,不包括特定提到的日期

有关更多信息,请参阅下面的链接