Отмена назначения через файл ics в Lotus Notes - PullRequest
1 голос
/ 03 апреля 2019

Я пытаюсь создать встречу через файл ics, и она работает нормально, но когда я создаю другой файл ics для отмены встречи и пытаюсь импортировать, он выбрасывает ошибка «Не удалось открыть событие, возможно, файл календаря поврежден».

Для создания встречи APPOINTMENT.ics создает запись, как и ожидалось

APPOINTMENT.ics

 BEGIN:VCALENDAR
 PRODID:-//Lotus Development Corporation//NONSGML Notes 9.0.1//EN_C
 VERSION:2.0
 BEGIN:VTIMEZONE
 TZID:W. Europe Standard Time
 BEGIN:STANDARD
 DTSTART:19501029T020000
 TZOFFSETFROM:+0200
 TZOFFSETTO:+0100
 RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=-1SU;BYMONTH=10
 END:STANDARD
 BEGIN:DAYLIGHT
 DTSTART:19500326T020000
 TZOFFSETFROM:+0100
 TZOFFSETTO:+0200
 RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=-1SU;BYMONTH=3
 END:DAYLIGHT
 END:VTIMEZONE
 BEGIN:VEVENT
 UID:123456
 ORGANIZER;CN=Avi Kaushik/Show:mailto:CN=akaushik@xyz.de
 DTSTART;TZID="W. Europe Standard Time":20190410T130000
 DTEND;TZID="W. Europe Standard Time":20190410T140000
 LOCATION:
 SUMMARY;LANGUAGE=en-us:process ics file 555555
 DESCRIPTION;LANGUAGE=en-us:  \n
 TZID:W. Europe Standard Time
 TRANSP:OPAQUE
 END:VEVENT
 END:VCALENDAR

но при попытке отменить вышеуказанную запись через CANCELLATION.ics, которая содержит тот же UID, что и APPOINTMENT.ics, она не работает

CANCELLATION.ics

 BEGIN:VCALENDAR
 PRODID:-//Lotus Development Corporation//NONSGML Notes 9.0.1//EN_C
 VERSION:2.0
 METHOD:CANCEL
 BEGIN:VTIMEZONE
 TZID:W. Europe Standard Time
 BEGIN:STANDARD
 DTSTART:19501029T020000
 TZOFFSETFROM:+0200
 TZOFFSETTO:+0100
 RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=-1SU;BYMONTH=10
 END:STANDARD
 BEGIN:DAYLIGHT
 DTSTART:19500326T020000
 TZOFFSETFROM:+0100
 TZOFFSETTO:+0200
 RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=-1SU;BYMONTH=3
 END:DAYLIGHT
 END:VTIMEZONE
 BEGIN:VEVENT
 UID:123456
 ORGANIZER;CN=Avi Kaushik/Show:mailto:CN=akaushik@xyz.de
 DTSTART;TZID="W. Europe Standard Time":20190410T130000
 DTEND;TZID="W. Europe Standard Time":20190410T140000
 SEQUENCE:1
 STATUS:CANCELLED
 LOCATION:
 SUMMARY;LANGUAGE=en-us:process ics file 555555
 DESCRIPTION;LANGUAGE=en-us:  \n
 TZID:W. Europe Standard Time
 TRANSP:OPAQUE
 END:VEVENT
 END:VCALENDAR

1 Ответ

0 голосов
/ 04 апреля 2019

Ваш первый поток - это просто событие, без какого-либо участника.Ваш второй реальный поток - это сообщение iTIP с МЕТОДОМ ОТМЕНА.Сообщения iTIP CANCEL предназначены для использования в контексте приглашения (т. е. со свойствами ATTENDEE).См. https://tools.ietf.org/html/rfc5546#section-3.2.5.В вашем случае в исходном событии нет участника и отмены.

Вы не указали, как эти потоки ics попадают в ваш клиент?Если вы просто импортируете их, я бы попытался просто удалить свойство METHOD: CANCEL во втором потоке.СОСТОЯНИЕ: ОТМЕНА должно быть достаточно.

...