【问题标题】:Is there a way to invalidate a subscribed calendar feed on a device?有没有办法使设备上订阅的日历提要失效?
【发布时间】:2015-06-19 04:49:57
【问题描述】:

我们自主研发的 CMS 会创建日历提要,其中包含青年运动队单个赛季的赛程。我们为最终用户提供 URL 以在他们的设备上(或在他们的软件程序中)使用 feed,每年有成千上万的人这样做。

问题在于,对于大多数程序和设备而言,添加日历订阅的 UI 相对较好,但在不再需要时删除这些提要 - 并没有那么多。

对我们来说,这造成了超过 90% 的对我们服务器的日历提要请求来自日程安排早已完成的团队。

最初,我们尝试只为非当前团队返回一个空提要,但这并没有阻止设备首先发出请求(这会占用我们服务器上的资源)。它根本不足以(或根本不)激励最终用户做某事。

因此,在过去几年中,我们改为返回一个从上个月到下个月的单个事件,标题为“请删除此过时的 Feed”,甚至提供了一些操作说明。这有点帮助,但还不够。

最近我们了解到可以将提醒附加到日历提要中,因此为了尝试激发用户采取行动,我们还决定将提醒附加到单个“过时”事件;每隔 3 小时重复两次的警报。这更有效,但对最终用户来说非常烦人。

那么,问题来了。 我们可以在服务器上做些什么,当设备发出请求时,响应会向设备表明该提要不再可用并且设备应该停止请求它?我们尝试过的其他一些事情包括:

  • 返回各种 HTTP 状态代码(302、301、500 等)
  • 在 Feed 上设置很长的 TTL

这些似乎都没有任何效果。似乎应该有一种方法可以返回带有 HTTP 状态代码 410“Gone”的空响应,并且设备/程序应该知道该怎么做。任何/所有建议都表示赞赏!

【问题讨论】:

    标签: android ios calendar icalendar webcal


    【解决方案1】:

    不,没有标准或非标准的方法可以做到这一点。你唯一能做的就是你已经拥有的。不过,我建议向各个客户报告功能请求,他们可能比您想象的更容易接受更改。

    【讨论】:

    • 感谢您的建议。我已提交给 Apple 反馈 (ical)、Outlook link 和 Android link
    • 我一直遇到同样的问题... Outlook 和 Android 问题都已关闭并被忽略。只是好奇是否有人在过去 5 年的某个时间点找到了更好的解决方法......?!
    猜你喜欢
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    • 1970-01-01
    • 2012-10-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多