触发日历客户端的URL方案

20

我有一个生成动态日历(iCalendar)的网站。 假设这个日历可以通过类似以下URL的HTTP访问:

http://www.example.com/cal?q=<user query>

到目前为止一切正常。

现在我想让用户使用自己喜欢的日历客户端来订阅此日历。 对于ios,如果我使用 webcal:// URL方案发布日历URL,则可以实现此目的。

  1. Android是否有等效的URL方案?
  2. 我能让用户将该日历导入到他的Google日历中吗?
  3. 是否有其他我没有考虑过的选项?

谢谢


日历文件的“标准”是一个带有MIME类型text/calendar的http/s URL .ics。Webcal只是苹果在做他们自己的事情。所有的日历应用程序都应该接受开放标准。 - anmari
2个回答

3

由于这个问题还没有得到解答,但问题上已经有了点赞,因此我将我的评论改为更正式的回答:

  1. 日历文件的“标准”是http/s url .ics,mime类型为text/calendar。Webcal只是苹果公司在其自己的领域内做出的决定。所有的日历应用程序都应该接受这个开放的标准。

  2. 是的,如果您的url是公开可访问的,他们可以订阅它。或者他们可以进行一次性导入。

  3. RFC 5545标准是日历和事件的最佳选择https://www.rfc-editor.org/rfc/rfc5545#section-8.1


1
如果你特别想要支持导入到Google日历,你可以构建一个链接到Google日历网站的链接,其中webcal URL作为URI编码的查询参数。以下是在JS中构建该链接的样式:
"https://calendar.google.com/calendar/r?cid=" + encodeURIComponent("webcal://www.example.com/cal/whatever-the-link-is")

这样做的缺点是,截至目前为止,Google日历网站没有支持此功能的移动友好版本,因此用户将看到这个非常不适合移动设备的页面。

enter image description here

当然,这种方法对于不使用Google日历的用户是行不通的。对于他们来说,最好的办法可能是提供一个webcal链接,让他们手动导入。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接