【问题标题】:ics file on webcal URI schemewebcal URI 方案上的 ics 文件
【发布时间】:2024-05-23 06:00:02
【问题描述】:

我使用DDay iCal library. 创建了一个ics 文件现在我想使用webcal protocol 创建一个日历提要。如果我创建的文件的名称是myCalendar.ics,则可以使用:

webcal://localhost/myCalendar.ics

我不知道如何实现这一点。

另外,当我更改 ics 文件中的某些内容(例如活动地点)时,客户端日历代理(例如 Outlook 或 Google 日历)是否会自动获取修改后的值?

【问题讨论】:

    标签: asp.net iis google-calendar-api icalendar


    【解决方案1】:

    我根据我的组织日历实施了 DDay 日历。

    编辑: 我通常会提供 .ics 文件的完整 URL 并让我的 客户将此 URL 粘贴到订阅中的 webcal 地址中 客户端(在我的例子中是 Outlook)。从那以后我在 MS 站点 - 您可以通过预先添加来自动订阅 .ics 您的 URL 使用 webcal:// 而不是 http(或 webcals://,如果使用 SSL)。见here。 /编辑

    问题 2: 是的,日历客户端将获取互联网日历中的更改。例如,Outlook 在正常的 Outlook 发送/接收计划中从 .ics 文件中检索更改。

    再次注意,.ics 日历订阅是只读的。如果您希望有一个双向同步日历,那就是另一个问题了...:)

    【讨论】:

    • 感谢您的回复。一种方法对我来说就足够了,我想在服务器上编辑 myCalendar.ics,并让客户端自动更新。所以你的意思是,通过创建一个其href是.ics文件的锚点,这个订阅会发生吗?如果更新 myCalendar.ics,客户端会自动选择更新?
    • 其实我刚刚重新测试了,因为已经有一段时间了。要让 ics 在您的默认日历应用程序中作为 webcal 打开,您必须在链接前添加 webcal:// 。是的,客户端然后会自动获取对该日历事件的更改。我会更新我的答案以反映这一点。
    • @MTAdmin 你知道它检查的频率吗?大概它必须定期轮询,因为没有明显的推送机制?
    • 我相信它会检查您的订阅申请的时间表。因此,对于 Outlook (2010),它会在 Outlook 每次执行发送/接收时进行检查,无论是自动还是手动。我不确定这一点,但这是我从 2 年前的测试中回忆起来的。我明天去验证。
    • @Basic - 在 Outlook 中确认。事件会随着客户端上执行的每次发送/接收而更新。另外,请注意,如果您的应用程序使用 SSL,则必须在链接前添加 webcals://