Генерировать файл ics программным путем, но никогда не смогу сгенерировать, какое приглашение было сделано

Привет, я пытался отправить приглашения на встречу через мое приложение asp.net MVC. Требовалось показать, в каком часовом поясе было создано это приглашение, как показано на следующем рисунке. Я пробовал разные вещи, как сообщает служба поддержки Microsoft, ни одна из них не работала.

Встреча Приглашение

Согласно совету службы поддержки Microsoft Exchange Server, я создал следующее.

TZID: Шри Джаяварденепура
НАЧАТЬ:STANDARD 
TZOFFSETFROM:+0530
TZOFFSETTO:+0530
END:STANDARD
END:VTIMEZONE
НАЧАТЬ:VEVENT
DTSTART;TZID=Sri Jayawardenepura:20140416T033000Z
DTSTAMP:20140327T113138Z
DTEND;TZID= Шри Jayawardenepura:20140416T060000Z 
РАСПОЛОЖЕНИЕ: зал заседаний

После добавления TZID в DTSTART, оно не приходит как приглашение в gmail.

но следующее прекрасно работает как приглашение как в Outlook, настроенном с Exchange Server, так и в веб-почте, такой как gmail.

 TZID: Шри Джаяварденепура
НАЧАТЬ: STANDARD
TZOFFSETFROM: +0530
TZOFFSETTO: +0530
END: STANDARD
END: VTIMEZONE
НАЧАТЬ:VEVENT
DTSTART:20140318T033000Z
DTSTAMP:20140327T122640Z
DTEND:20140318T060000Z
РАСПОЛОЖЕНИЕ: зал заседаний

однако это требование показа часового пояса, в котором было создано приглашение, еще не выполнено. Может кто-нибудь мне помочь. Заранее спасибо.

2 ответа

Если вы посмотрите на http://www.kanzaki.com/docs/ical/dateTime.html нем говорится, что UTC time is identified by a Z suffix character так же как The TZID property parameter MUST NOT be applied to DATE-TIME properties whose time values are specified in UTC.

Я подозреваю, что если вы используете идентификатор часового пояса, вам нужно удалить Z с конца даты, чтобы заставить его работать должным образом.

РЕДАКТИРОВАТЬ: Итак, у меня были проблемы с часовыми поясами и раньше, поэтому я использовал только время UTC, однако я просто получил один для работы с часовым поясом, поэтому я надеюсь, что это поможет. Внутри VTIMEZONE у вас есть СТАНДАРТ, но у вас нет DTSTART внутри СТАНДАРТА. Опять же, цитируя приведенную выше ссылку, The standard or daylight component MUST include the "DTSTART", "TZOFFSETFROM" and "TZOFFSETTO" properties.

Он не соответствует RFC5545, но многие календари ожидают, что TZID будет совместим с базой данных Olson, а также могут иметь свойство calendar X-WR-TIMEZONE задавать.

Я видел, что при выполнении всего вышеперечисленного вы увеличиваете коэффициент совместимости календаря.

Другие вопросы по тегам