Обновите событие в Outlook 2007 с помощью файла iCalendar - PullRequest
12 голосов
/ 09 ноября 2008

Существует предыдущая тема с этим вопросом , и намекает на ответ, но я не смог заставить его работать.

У меня есть файл ICS. подтверждает . Это выглядит так:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//WA//FRWEB//EN
BEGIN:VEVENT
UID:FRICAL201
SEQUENCE:0
DTSTAMP:20081108T151809Z
DTSTART:20081109T121200
SUMMARY:11/9/2008 12:12:00 PM TRIP FROM JFK AIRPORT (JFK)
LOCATION:JFK AIRPORT (JFK)
END:VEVENT
END:VCALENDAR

Я дважды щелкаю по нему, и он отлично входит в Outlook 2007. Затем я дважды щелкаю другой файл ICS, который выглядит следующим образом:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//WA//FRWEB//EN
BEGIN:VEVENT
METHOD:REQUEST
UID:FRICAL201
SEQUENCE:1
DTSTAMP:20081108T161809Z
DTSTART:20081109T121300
SUMMARY:11/9/2008 12:13:00 PM TRIP FROM JFK AIRPORT (JFK)
LOCATION:JFK AIRPORT (JFK)
END:VEVENT
END:VCALENDAR

Как объяснил в rfc , UID такой же, а порядковый номер на единицу больше, поэтому я ожидаю, что outlook обновит мою предыдущую запись о событии, но все, что она делает, это вставляет вторую.

Как мне сформулировать файл ICS, чтобы Outlook знал, как обновить событие? В оригинальном постере в теме, на которую я ссылался выше, говорилось, что он заставил его ответить МЕТОДОМ и ОРГАНИЗАТОРОМ, но, по моему опыту, МЕТОД не действует, и ОРГАНИЗАТОР вызывает нежелательное поведение, когда Outlook хочет отправить событие кому-либо по электронной почте. Я просто хочу обновить календарь.

1 Ответ

10 голосов
/ 11 ноября 2008

Я завладел Томом Картером, парнем, который начал оригинальную тему. У него был рабочий пример с просьбой с последующей отменой. Что я ошибался, так это то, что мой МЕТОД был внутри моего VEVENT, когда он должен был быть снаружи. Итак, вот рабочее обновление!

Оригинал:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//WA//FRWEB//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:FRICAL201
SEQUENCE:0
DTSTAMP:20081108T151809Z
ORGANIZER:donotreply@test.com
DTSTART:20081109T121200
SUMMARY:11/9/2008 12:12:00 PM TRIP FROM JFK AIRPORT (JFK)
LOCATION:JFK AIRPORT (JFK)
END:VEVENT
END:VCALENDAR

Обновление:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//WA//FRWEB//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:FRICAL201
SEQUENCE:1
DTSTAMP:20081108T161809Z
ORGANIZER:donotreply@test.com
DTSTART:20081109T121300
SUMMARY:11/9/2008 12:13:00 PM TRIP FROM JFK AIRPORT (JFK)
LOCATION:JFK AIRPORT (JFK)
END:VEVENT
END:VCALENDAR

Все, что я сделал, это добавил метод запроса (в правильном месте!) И органайзер.

...