iCal订阅和日期范围

5
我正在尝试理解iCal feeds和iCalendar客户端如何处理大量过去和未来的事件。 iCalendar客户端是否可以向iCalendar feed通信日期范围,以便不必要地将超出当前日期范围的事件发送到用户端?
如果不能,那么iCalendar feed如何决定发送事件的日期范围?如果一直发送所有数据,那么在某个时候,对于feed和客户端来说都会变得难以管理。如果feed不向过去和未来发送数据,客户端如何处理这些数据中的“空白部分”?

CalDAV旨在解决这个问题,以及使用普通订阅存在的大量其他问题。 - Evert
CalDAV是如何解决这个问题的?此外,主要的iCal客户端(Outlook、Google日历和Apple iCal)是否支持CalDAV? - Saurabh Nanda
1
CalDAV允许使用日期范围,并且更重要的是......当单个事件被更新时,整个日历不必再次下载。要查看哪些客户端支持CalDAV,请进行5分钟的谷歌搜索。 - Evert
1个回答

4

您需要区分应用程序端和iCalendar(RFC5545)这个“标准”所代表的日历数据格式及交换信息的方式。换句话说,iCalendar文件格式只能携带服务器上已经编排好的信息。RFC5545没有关于日历提供的预定义行为。

对于事件提要,如果您无法控制服务器,那么可以认为提要只显示即将到来的事件,您可能会问:

如何从RSS提要中获取所有旧项目?

如果用户有回溯历史记录的需求,则唯一的选择是让客户端保留历史记录,并将新的.ics文件与旧文件进行比较,以显示最详尽的历史记录。

但是,如果您也拥有服务器/提要端,则可以决定特定的REST API,以提供更多的灵活性给客户端(例如指定提要的日期范围)。


谢谢,我怀疑在客户端和服务器之间没有关于通信日期范围的标准。在我的情况下,我拥有服务器而不是客户端(我的Web应用程序需要导出iCalendar)。我只是想知道如何决定日期范围。只发布即将到来的日历事件是否是一个安全的选择? - Saurabh Nanda
1
专注于即将到来的事情似乎是一个安全的选择。如果您担心客户使用情况,您可以始终提供一个备用URL,给出当前日期前后约6个月的窗口期。 - Auberon Vacher

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接