我正在尝试发送.ics日历事件文件,这些文件可以由用户下载并保存到他们的Outlook日历中。日历事件需要在Outlook中显示为“免费”。以下是当前发送的.ics事件的示例:
BEGIN:VCALENDAR VERSION:2.0 PRODID:http://company.ical.cls BEGIN:VEVENT DTSTART:20180425 SUMMARY:PTO for Babcock, Michael (22.5hrs) DTEND:20180428 FREEBUSY:FREE END:VEVENT END:VCALENDAR
当Outlook for Windows用户下载上述文件并在其Outlook日历中打开时,该事件将正确显示为空闲时间。
当Outlook for Mac用户下载上述文件时,它会创建一个附有.ics文件的新电子邮件。 为了尝试纠正Mac用户的问题,我多次编辑了FREEBUSY关键字,显示为:
FBTYPE:FREE:20180425T000000Z/20180428T000000Z
FBTYPE:20180426T000000Z/20180429T000000Z
FREEBUSY;FBTYPE=FREE:20180416T133000Z/20180429T170000Z
Outlook for Mac用户可以使用其中一个新的FreeBusy关键字下载该文件,并在其日历中打开它,但它始终显示为“忙碌”。奇怪的是,如果他们首先在Windows计算机上使用修改后的关键字打开文件,那么约会在Windows和Mac Outlook上都显示为免费。
是否有人发现FreeBusy关键字允许Outlook for Mac用户将.ics日历约会视为免费?
答案 0 :(得分:0)
' Freebusy'组件是VFREEBUSY,而不是VEVENT。请参阅RFC5545规范。 https://tools.ietf.org/html/rfc5545#section-3.6.4
VFREEBUSY不能嵌套在VEVENT下。此外,它并不是说可以在VEVENT中使用FREEBUSY 属性。 https://tools.ietf.org/html/rfc5545#section-3.8.2.6的规范说:
FREEBUSY .....一致性:该属性可以在a中指定 " VFREEBUSY"日历 成分
...
以下是" VFREEBUSY"的示例。日历组件 用于发布繁忙时间信息:
BEGIN:VFREEBUSY UID:19970901T115957Z-76A912@example.com DTSTAMP:19970901T120000Z ORGANIZER:jsmith@example.com DTSTART:19980313T141711Z DTEND:19980410T141711Z FREEBUSY:19980314T233000Z/19980315T003000Z FREEBUSY:19980316T153000Z/19980316T163000Z FREEBUSY:19980318T030000Z/19980318T040000Z URL:http://www.example.com/calendar/busytime/jsmith.ifb END:VFREEBUSY