CALDAV 在 icloud 中添加带有注释的事件

Posted

技术标签:

【中文标题】CALDAV 在 icloud 中添加带有注释的事件【英文标题】:CALDAV add event in icloud with notes 【发布时间】:2018-08-04 08:42:10 【问题描述】:

我已经实现了 caldav api 来管理 icloud 日历,并且一切都按预期工作。

但现在我正在尝试发送带有描述的事件,包括 html 内容而不是纯文本。我已经完成了我的研究,但无法成功。

以下是 icloud 日历中的示例 API 和事件截图。

PUT /home/meeting.ics HTTP/1.1
Host: ...
Content-Length: ...
Content-Type: text/calendar; charset=utf-8

BEGIN:VCALENDAR
BEGIN:VEVENT
UID:test123
SUMMARY:Test Event
DESCRIPTION:Hi User <br/><br/> Text...<br/>Note :  </br><br/>Thank you
DTSTART:20180920T080000Z
DTEND:20180920T170000Z
END:VEVENT
END:VCALENDAR

在上面的截图中,我们可以看到在notes部分显示了html标签。我认为这是因为 icloud 日历将整个消息视为文本。在这里,我正在寻找一种使文本与 html 对齐的解决方案。

任何帮助将不胜感激。提前致谢。

【问题讨论】:

如果您能提供minimal reproducible example,那就太好了。请务必弄清楚究竟是什么不起作用。 ics 规范 RFC5545 并未明确允许在事件描述中使用 html。它表明 ALTREP 可能指向另一个 HTML 表示 tools.ietf.org/html/rfc5545#section-3.2.1。更重要的是,日历应用程序可能不支持它并以不同的方式处理任何 html:剥离它或显示原始 html。另见***.com/questions/14956048/… 和icalevents.com/4019-ics-feed-generation-with-html @anmari 你应该把评论变成答案,这是正确的。 【参考方案1】:

ics 规范 RFC5545 并未明确允许在事件描述中使用 html。它表明 ALTREP 可能指向另一个 HTML 表示 https://www.rfc-editor.org/rfc/rfc5545#section-3.2.1

更重要的是日历应用程序可能不支持它并以不同的方式处理任何 html:剥离它或显示原始 html。

另见Does icalendar support HTML and CSS? 和https://icalevents.com/4019-ics-feed-generation-with-html/ (按照 hnh 的建议将评论转发为答案)

【讨论】:

以上是关于CALDAV 在 icloud 中添加带有注释的事件的主要内容,如果未能解决你的问题,请参考以下文章

iCloud日历删除事件请求不适用于caldav

CalDAV 请求 gGt iCloud 日历事件

如何从 Caldav 客户端为 iCloud 日历删除重复的事件条目

ICloud Caldav连接获取日历

从 iCloud 获取 CalDAV 事件返回“403 Forbidden”

iCloud Caldav 连接以获取日历