我们为我们的外联网开发了一个日历。每周我们都会为学校所有教师和学生更新下周的课程安排。这也会触发将 ICS 文件的每封电子邮件发送给选择该选项的用户。
现在,几乎总是发生最后一分钟的更改,因此需要进行新的计划更新,因此重新发送更新的 ICS。
问题:目前用户必须手动删除已导入其日历应用程序的事件。我们有没有办法将一些 DELETE 或 UPDATE 事件添加到用户的日历中?ICS 格式是否允许这样做?
一旦您开始尝试进行更新或删除(取消),您将超越 iCalendar 文件格式并进入 iCalendar 独立于传输的互操作性协议 (iTIP) 和 iCalendar 基于消息的互操作性协议 (iMIP) 的精彩世界,请参阅指南互联网日历工具.ietf.org/html/rfc3283
最佳解决方案将取决于您的客户系统。如果您要交付日历而不是单个事件,我建议您放弃电子邮件交付并使用订阅模式。这是一个 大学这样做的例子,icalshare.com 是另一个例子。显然,如果您想要个性化的时间表,您将需要个人网址。您可以很简单地将您当前通过电子邮件发送到网络的文件发布。
如果您使用 webcal:// 而不是 http,某些日历客户端(例如 Outlook 2007)会自动打开它并保持更新。
如果您不想使用订阅模式并且需要来自客户的回复,我知道 Outlook 2007、Windows Live 日历和 Google 日历都可以相互交流 iTIP/iMIP,遗憾的是我找不到其他的好列表这样做的客户。显然,Thunderbird 3 本来打算这么做,但它已经被放弃了(它仍然需要闪电插件)。