在单个ics文件中分组多个事件(icalendar流)

问题描述 投票:27回答:1

我想根据RFC将多个事件分组到一个ICS文件(iCalendar流)中。这可以做,但我不知道如何。任何人都可以帮助我或给我一个例子吗?

以下是rfc所说的:

但是,可以按顺序对多个iCalendar对象进行分组 一起在iCalendar流中。 iCalendar对象的第一行和最后一行必须包含一对iCalendar对象分隔符 字符串。 iCalendar流的语法如下:

 icalstream = 1*icalobject

 icalobject = "BEGIN" ":" "VCALENDAR" CRLF
              icalbody
              "END" ":" "VCALENDAR" CRLF
icalendar
1个回答
59
投票

这是一个带有两个事件的icalendar文件的简单示例。

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//bobbin v0.1//NONSGML iCal Writer//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
DTSTART:20100701T080000Z
DTEND:20100701T110000Z
DTSTAMP:20091130T213238Z
UID:[email protected]
CREATED:20091130T213238Z
DESCRIPTION:Example event 1
LAST-MODIFIED:20091130T213238Z
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Example event 1
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
DTSTART:20100701T120000Z
DTEND:20100701T130000Z
DTSTAMP:20091130T213238Z
UID:[email protected]
CREATED:20091130T213238Z
DESCRIPTION:Example event 2
LAST-MODIFIED:20091130T213238Z
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Example event 2
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR

将其复制到一个文件中并将其保存为events.ics,它应该在大多数icalendar兼容的应用程序中打开,例如Outlook 2007,Sunbird,iCal。对于更复杂的示例,您可以尝试在Google日历中创建事件并导出日历以查看结果或从icalshare.com等某个位置下载预先存在的日历。文件格式类似于电子邮件编码,因为它必须折叠。维基百科在ICalendar上有一篇非常好的文章,如果你使用Google“icalendar validator”,你可以使用多种服务来验证你的文件。哦,如果你对它感到沮丧,你并不孤单http://www.google.co.uk/support/forum/p/Calendar/thread?tid=366b19a87d1304ec&hl=en虽然它是一个很好的规范imho,它的实现非常,呃,不同。

关于如何使用它的更多细节将有助于其他人帮助您。

© www.soinside.com 2019 - 2024. All rights reserved.