1

我正在尝试发送用户可以下载并保存到他们的 Outlook 日历中的 .ics 日历事件文件。日历事件需要在 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 日历约会视为免费?

4

1 回答 1

0

“Freebusy”组件是 VFREEBUSY,而不是 VEVENT。请参阅 RFC5545 规范。https://www.rfc-editor.org/rfc/rfc5545#section-3.6.4

VFREEBUSY 不能嵌套在 VEVENT 下。它也没有说 FREEBUSY属性可以在 VEVENT 中使用。https://www.rfc-editor.org/rfc/rfc5545#section-3.8.2.6上的规范 说:

FREEBUSY..... 一致性:可以在“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
于 2018-03-25T02:20:03.807 回答