iCal:如何删除具有订阅的 .ics 文件?

iCal: How do I delete an .ics file that has subscriptions?

我的服务器上有一个 PHP 生成的 .ics 日历文件。

有几个客户订阅了这个日历,例如使用 Google 日历和 Apple iCal/Calendar.

我想删除日历和其中的所有事件,同时从客户端中删除它。

好像我删除了.ics文件,事件仍然存在于客户端。

我应该保留一个空的 .ics 文件吗?或者我应该使用一些语法来指示客户不再使用日历?

在 HTTP 中,告诉客户端资源不再存在的方法是发出 404 Not Found410 Gone 状态代码。

然而,即使这是 'correct way',实际上大多数客户端不会自动使用此信息执行某些操作。

不过我确实认为这是 'most correct',因为日历客户端 倾向于 添加 'warning' 或 'error' 图标日历,向用户发出出现问题的信号(以便他们可以手动清理它)。

但是,如果您只想让活动自动消失,您唯一的选择是发布包含 0 个活动的日历。