Файл календаря.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