Генерировать файл 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
задавать.
Я видел, что при выполнении всего вышеперечисленного вы увеличиваете коэффициент совместимости календаря.