Intereting Posts
php удаляет дубликаты из массива Загрузить URL-адрес изображения – PHP Unserialize сериализованные данные PHP в T-SQL Предупреждение: spl_object_hash () ожидает, что параметр 1 будет объектом, с сообщением JQuery .post () возвращает html в таблицу Смягчение атак xss при создании ссылок Значение объекта JSON от PHP Извлечение данных сайта через веб-искатель выводит ошибку из-за неправильного совпадения индекса массива php – глубокий массив поиска массивов и возвращает только соответствующие элементы Проблема кодирования в phpMyAdmin. В частности, с записями, содержащими русский текст Как предотвратить выполнение задания cron, если оно уже запущено Рекурсивный многомерный массив UL LI to PHP Как установить значение по умолчанию для «Сохранить изображение как» для изображения, сгенерированного в PHP? Географические координаты названия улиц Сортировка с CSqlDataProvider в yii

Outlook 2003 не импортирует календарь .ics, а Outlook 2007

У меня есть файл .ics, который я вручную создаю с помощью PHP следующим образом:

BEGIN:VCALENDAR PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN VERSION:2.0 METHOD:PUBLISH X-MS-OLK-FORCEINSPECTOROPEN:TRUE BEGIN:VEVENT CLASS:PUBLIC DESCRIPTION:Some description here LOCATION:Scheduled PTO DTEND;VALUE=DATE:20101104 DTSTART;VALUE=DATE:20101103 PRIORITY:5 SEQUENCE:0 SUMMARY;LANGUAGE=en-us:PTO - 8.00 hour(s) X-MICROSOFT-CDO-ALLDAYEVENT:TRUE X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE END:VEVENT END:VCALENDAR 

Это отлично работает при импорте в Outlook 2007 (а также в календарь Google). В Outlook 2003 я получаю следующую ошибку:

«Эта ошибка может появиться, если вы попытались сохранить повторяющийся Лунный календарь в формате iCalendar. Чтобы избежать этой ошибки, установите для параметра назначения значение« Григорианский »вместо« Лунный »».

Есть ли что-то, что мне нужно изменить в файле .ics, чтобы заставить это работать с Outlook 2003?

(У меня нет Outlook 2003 для тестирования на данный момент)

Таким образом, после некоторых проб и ошибок с тестовой системой 2003 года я обнаружил, что добавление следующего:

 DTSTAMP:20101103T120000Z 

разрешил Outlook 2003 импортировать файл .ics без взлома 2007, iCal или Google.
Я также, для хорошей меры, добавил строку UID в мой последний файл .ics.

Итак, мой последний файл .ics выглядит так:

 BEGIN:VCALENDAR PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN VERSION:2.0 METHOD:PUBLISH X-MS-OLK-FORCEINSPECTOROPEN:TRUE BEGIN:VEVENT CLASS:PUBLIC DESCRIPTION:Some description here LOCATION:Scheduled PTO DTEND;VALUE=DATE:20101104 DTSTART;VALUE=DATE:20101103 DTSTAMP:20101103120000Z UID: VACATIOND41D8CD98F00B204E9800998ECF8427E PRIORITY:5 SEQUENCE:0 SUMMARY;LANGUAGE=en-us:PTO - 8.00 hour(s) X-MICROSOFT-CDO-ALLDAYEVENT:TRUE X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE END:VEVENT END:VCALENDAR , BEGIN:VCALENDAR PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN VERSION:2.0 METHOD:PUBLISH X-MS-OLK-FORCEINSPECTOROPEN:TRUE BEGIN:VEVENT CLASS:PUBLIC DESCRIPTION:Some description here LOCATION:Scheduled PTO DTEND;VALUE=DATE:20101104 DTSTART;VALUE=DATE:20101103 DTSTAMP:20101103120000Z UID: VACATIOND41D8CD98F00B204E9800998ECF8427E PRIORITY:5 SEQUENCE:0 SUMMARY;LANGUAGE=en-us:PTO - 8.00 hour(s) X-MICROSOFT-CDO-ALLDAYEVENT:TRUE X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE END:VEVENT END:VCALENDAR 

Все, что я сделал, это создать ручную запись в Outlook 2003, сохранить ее как .ics и сравнить с отсутствием / отличным от моего оригинала.

Все хорошо работает сейчас.

ОБНОВЛЕНИЕ Еще одно изменение, я удалил VERSION:2.0 бит, и это сделало все работу еще более надежно.

Добавить:

 CALSCALE:GREGORIAN METHOD:PUBLISH 

Это сработало для меня.

Удаление «VERSION: 2.0» – это все, что потребовалось, чтобы сделать третью вечеринку .ics, открытую для меня в Outlook 2003.