Поддерживает ли Outlook 2003 спецификацию iCal 2.0 для обновления и удаления элемента календаря? - PullRequest
1 голос
/ 09 июля 2009

Мы работаем над веб-приложением asp.net 2.0, которое отправляет пользователям электронные письма для сохранения в календаре Outlook 2003. Мы заметили, что ни один из кодов для обновления или удаления элемента, похоже, не работает, хотя спецификация ical 2.0 поддерживает его. Нам любопытно, если Outlook 2003 просто игнорирует это? Outlook 2007 действует по-другому?

У нас есть ситуации, когда событие может измениться или быть отменено, что приводит к отправке уведомления по электронной почте, но обновленное объявление просто добавляет новое событие, но не удаляет и не перемещает оригинал ....

Мы что-то упустили?

Ответы [ 2 ]

1 голос
/ 13 июля 2009

Мы смогли заставить его удалить сообщение сейчас .... но не обновить, как мы думали, что это будет ....

чтобы назначить встречу, которую мы отправляем ...

НАЧАТЬ: VCALENDAR VERSION: 2,0 МЕТОД: ПУБЛИКОВАТЬ НАЧАТЬ: VEVENT КЛАСС: PUBLIC ПРИОРИТЕТ: 5 ПОСЛЕДОВАТЕЛЬНОСТЬ: 0 UID: 12345 РЕЗЮМЕ: тест РАСПОЛОЖЕНИЕ: тест DTSTART: 20090709T230000Z DTEND: 20090710T000000Z DTSTAMP: 20090713T164634Z ОПИСАНИЕ: Тест END: VEVENT END: VCALENDAR

для удаления мы отправляем сообщение, просто изменив метод отмены, например так:

НАЧАТЬ: VCALENDAR VERSION: 2,0 МЕТОД: ОТМЕНА НАЧАТЬ: VEVENT КЛАСС: PUBLIC ПРИОРИТЕТ: 5 ПОСЛЕДОВАТЕЛЬНОСТЬ: 0 UID: 12345 РЕЗЮМЕ: тест РАСПОЛОЖЕНИЕ: тест DTSTART: 20090709T230000Z DTEND: 20090710T000000Z DTSTAMP: 20090713T164634Z ОПИСАНИЕ: Тест END: VEVENT END: VCALENDAR

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

Что касается обновления оригинальной публикации, как в первой строке, мы не смогли. Мы увеличили последовательность # с нуля до 1, и это просто добавляет новую встречу. Мы используем тот же номер UID, который в нашем тестировании просто 12345.

Единственный способ сделать это - создать органайзер и перейти от публикации к типу запроса.

При чтении rfc2445, похоже, так оно и было. Публикация всегда создает новую запись, и последовательность не имеет значения. Когда последовательность имеет значение с организатором и методом запроса ....

Я также нашел этот ответ после моего тестирования и чтения на stackoverflow здесь: ICalendar и обновления событий не работают в Outlook

Да, я не видел этого раньше ....:)

Вот пример:

НАЧАТЬ: VCALENDAR VERSION: 2,0 МЕТОД: ЗАПРОС НАЧАТЬ: VEVENT КЛАСС: PUBLIC DTEND: 20090713T203000Z DTSTAMP: 20090713T174434Z DTSTART: 20090713T200000Z ОРГАНИЗАТОР; CN = "Никто особенный"; mailto: dontemailme@email.com ПРИОРИТЕТ: 5 ПОСЛЕДОВАТЕЛЬНОСТЬ: 0 РЕЗЮМЕ: Обед? UID: 1234567 END: VEVENT END: VCALENDAR

И чтобы обновить его ...

НАЧАТЬ: VCALENDAR VERSION: 2,0 МЕТОД: ЗАПРОС НАЧАТЬ: VEVENT КЛАСС: PUBLIC DTEND: 20090713T213000Z DTSTAMP: 20090713T174434Z DTSTART: 20090713T210000Z ОРГАНИЗАТОР; CN = "Никто особенный"; mailto: dontemailme@email.com ПРИОРИТЕТ: 5 ПОСЛЕДОВАТЕЛЬНОСТЬ: 1 РЕЗЮМЕ: Обед? UID: 1234567 END: VEVENT END: VCALENDAR

И отменить его ...

НАЧАТЬ: VCALENDAR VERSION: 2,0 МЕТОД: ОТМЕНА НАЧАТЬ: VEVENT КЛАСС: PUBLIC DTEND: 20090713T213000Z DTSTAMP: 20090713T174434Z DTSTART: 20090713T210000Z ОРГАНИЗАТОР; CN = "Никто особенный"; mailto: dontemailme@email.com ПРИОРИТЕТ: 5 ПОСЛЕДОВАТЕЛЬНОСТЬ: 1 РЕЗЮМЕ: Обед? UID: 1234567 END: VEVENT END: VCALENDAR

Последовательность # не имеет значения для отмены ....

0 голосов
/ 18 июня 2010

Я бы сказал, что мой опыт работы с Outlook 2007 такой же, как и у вас с Outlook 2003 ... он полностью игнорирует PUBLISH ..

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

Я не думаю, что Microsoft заинтересована в том, чтобы играть со стандартами здесь.

...