0

我正在使用 iCal.net 生成 ICS 文件,然后通过电子邮件发送。这非常有效,当我单击附件中的 ICS 文件时,事件被正确导入。

但是,我还希望能够在导入之前删除已经导入的重复事件。我正在使用一个选择加入/退出系统,用户可以选择他们想要举办活动的日期。

所以要么我需要更新已经导入的循环事件,要么删除它们并重新导入。

现在我正在使用它来创建经常性事件:

BEGIN:VCALENDAR
PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN
VERSION:2.0
BEGIN:VEVENT
DTEND:20210104T151500
DTSTAMP:20210105T105450Z
DTSTART:20210104T150000
LOCATION:Online
RRULE:FREQ=DAILY;UNTIL=99991231T235959;BYDAY=4MO,4WE
SEQUENCE:0
SUMMARY:Recurrent event
UID:e39bd24c-1a7f-4eb4-8174-af69d7cd77a7
END:VEVENT
END:VCALENDAR

我正在尝试通过以下方式删除事件:

BEGIN:VCALENDAR
PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN
VERSION:2.0
BEGIN:VEVENT
METHOD:CANCEL
DTEND:20210104T151500
DTSTAMP:20210105T105450Z
DTSTART:20210104T150000
LOCATION:Online
RRULE:FREQ=DAILY;UNTIL=99991231T235959;BYDAY=4TU,4FR
SEQUENCE:1
SUMMARY:Recurrent event
UID:e39bd24c-1a7f-4eb4-8174-af69d7cd77a7
STATUS:CANCELLED
END:VEVENT
END:VCALENDAR

或者(因为删除不起作用,我需要选项 :D)更新现有事件:

BEGIN:VCALENDAR
PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN
VERSION:2.0
BEGIN:VEVENT
DTEND:20210104T151500
DTSTAMP:20210105T105450Z
DTSTART:20210104T150000
LOCATION:Online
RRULE:FREQ=DAILY;UNTIL=99991231T235959;BYDAY=4TU,4FR
SEQUENCE:1
SUMMARY:Recurrent event
UID:e39bd24c-1a7f-4eb4-8174-af69d7cd77a7
END:VEVENT
END:VCALENDAR

取消 UID 是相同的,我尝试使用具有 DTSTART 值的经常性 ID。

我还尝试了以下链接: 如何以编程方式使用 ical 从重复集中删除单个事件? 如何使用 ics 文件取消日历活动? 还有更多像这些。

4

0 回答 0