如何在iCal提要中指定异常

本文关键字:异常 iCal | 更新日期: 2023-09-27 17:54:11

我正在为我们的应用程序创建一个iCal提要。一切都很顺利。除了异常之外,我的一切都在工作。例如,当您安排一个循环事件并需要取消一天时,我在提要中使用EXDATE标记,这对于删除已安排的事件很有效。

问题是如果你有一个重复的事件,从今天下午2点开始,重复5次。在我们的应用程序中,如果需要,用户可以将这些周中的任何一个更改为下午3点开始。我如何在iCal提要中指定它?

我一直在看文档,但一定是错过了什么…

多谢了!!

如何在iCal提要中指定异常

嗜睡是正确的。

  1. UID必须匹配,以便调整被识别为属于原事件。
  2. 递归Id将其与正在修改的循环序列的实例相匹配。这当然是因为有人可能会改变日期和时间还有其他的变化,人们不想要原来的实例,以及修改。
  3. 是的,最后序列id必须在那里这个人知道修改的顺序或层次

举个例子,如果你修改了一个重复发生的事件,这里有一个google日历生成的转储。

BEGIN:VEVENT
DTSTART;TZID=Australia/Sydney:20140325T084000
DTEND;TZID=Australia/Sydney:20140325T101000
DTSTAMP:20140327T060506Z
UID:vu2d4gjdj4mpfuvas53qi32s7k@google.com
RECURRENCE-ID;TZID=Australia/Sydney:20140325T083000
CREATED:20131216T033331Z
DESCRIPTION:
LAST-MODIFIED:20140327T060215Z
LOCATION:
SEQUENCE:1
STATUS:CONFIRMED
SUMMARY:test Event
TRANSP:OPAQUE
END:VEVENT

BEGIN:VEVENT
DTSTART;TZID=Australia/Sydney:20140128T083000
DTEND;TZID=Australia/Sydney:20140128T100000
RRULE:FREQ=WEEKLY;UNTIL=20141208T213000Z;BYDAY=TU
DTSTAMP:20140327T060506Z
UID:vu2d4gjdj4mpfuvas53qi32s7k@google.com
CREATED:20131216T033331Z
DESCRIPTION:
LAST-MODIFIED:20140222T101012Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Test event
TRANSP:OPAQUE
END:VEVENT

我相信只要根据原始时间生成一个带有RECURRENCE-ID的记录,并使用原始UID,就应该能够为单个实例设置DTSTART和DTEND值。您还需要增加SEQUENCE。这应该会触发客户端软件的更新