我的应用程序中有一个日历源 (.ics),但它非常大,因为它包含 4,000 多个事件。在指定下载多少事件或日历应该往前或往前多远时,是否有标准或最佳实践?
不过,我的主要问题是如何在日历上配置或设置更新限制,因此假设用户正在使用 Outlook 订阅日历,它每隔几个小时才更新一次。我目前将我的提要缓存了几个小时,但如果我可以拥有 Outlook 或用户正在使用的任何客户端,那么每隔几个小时检查一次更新是理想的。
要仅每小时检查一次更新(例如),请在您的 VCALENDAR 文件中使用:
X-PUBLISHED-TTL:PT1H
我从 Microsoft 协议文档 [MS-OXCICAL] 中收集了这些信息:iCalendar to Appointment Object Conversion Protocol Specification (下载链接的 PDF)
2.1.3.1.1.15 属性:X-PUBLISHED-TTL
RFC 参考:不适用
允许的实例数:0、1
格式:持续时间([RFC2445]第 4.3.6 节)
简要说明:为具有同步功能的客户端和服务器指定建议的 iCalendar 文件下载频率。
导入日历对象
应该忽略此属性<32>。从日历对象导出
如果此 iCalendar 定期自动发布到远程位置,则此属性应该<33> 设置为该间隔,最小粒度为分钟。
RFC 7986 引入了一个新REFRESH-INTERVAL
属性:
https://www.rfc-editor.org/rfc/rfc7986#section-5.7
我不知道这是否受到任何客户的支持,但 RFC 是由 Apple 编写的,所以我认为他们对此感兴趣。