Файл календаря.ics всегда отображается как занятый в Outlook для Mac

Я пытаюсь отправить файлы событий календаря.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 для Windows загружает вышеуказанный файл и открывает его в своем календаре Outlook, событие правильно отображается как Свободное время.

Когда пользователь Outlook для Mac загружает указанный выше файл, он создает новое электронное письмо с вложенным файлом.ics. Чтобы исправить проблему для пользователей Mac, я несколько раз редактировал ключевое слово FREEBUSY, чтобы оно выглядело как:

  • FBTYPE:FREE:20180425T000000Z/20180428T000000Z
  • FBTYPE:20180426T000000Z/20180429T000000Z
  • FREEBUSY;FBTYPE=FREE:20180416T133000Z/20180429T170000Z

Пользователи Outlook для Mac могут загрузить файл с одним из этих новых ключевых слов FreeBusy и открыть его в своем календаре, но он всегда отображается как Занят. Странно то, что если они сначала откроют файл с измененным ключевым словом на компьютере с Windows, то встреча будет бесплатной как в Windows, так и в Mac Outlook.

Кто-нибудь нашел ключевое слово FreeBusy, которое позволяет пользователям Outlook для Mac видеть встречи в календаре.ics как бесплатные?

2 ответа

FREEBUSY предназначен для запроса/ответа/публикации окон доступности.

Чтобы событие отображалось в календаре с флагом Free/Busy, установленным в Free, используйтеTRANSP:TRANSPARENTиX-MICROSOFT-CDO-BUSYSTATUS:FREE

Например:

      BEGIN:VCALENDAR
  VERSION:2.0
  PRODID:http://company.ical.cls
  BEGIN:VEVENT
  DTSTART:20180425
  SUMMARY:PTO for Babcock, Michael (22.5hrs)
  DTEND:20180428
  TRANSP:TRANSPARENT
  X-MICROSOFT-CDO-BUSYSTATUS:FREE
  END:VEVENT
  END:VCALENDAR

Компонент Freebusy - это VFREEBUSY, а не VEVENT. Пожалуйста, смотрите спецификацию RFC5545. https://tools.ietf.org/html/rfc5545

VFREEBUSY не может быть вложенным в VEVENT. Также это НЕ говорит о том, что свойство FREEBUSY может быть использовано в VEVENT. В спецификации на https://tools.ietf.org/html/rfc5545 сказано:

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
Другие вопросы по тегам