找到你要的答案

Q:Lotus Notes: Processing appointment cancellation using ics file

Q:Lotus Notes:处理预约取消使用ICS文件

I am finding it difficult to understand how ics file works in lotus notes. Invitation works precisely as defined whereas in the cancellation event nothing happens.

Say for example, when I import an ics file 2 calendar entries, then the entries are created as expected.

BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
ORGANIZER:CN=Chintan Jayesh Parekh/O=main
DTSTART:20150504T140000
DTEND:20150504T150000
LOCATION:Test - 3
SUMMARY;LANGUAGE=en-us:Test - 3
DESCRIPTION;LANGUAGE=en-us:bvnvn
UID:00EDF2741C3E857965257E39002A2900
TRANSP:TRANSPARENT
END:VEVENT

BEGIN:VEVENT
ORGANIZER:CN=Chintan Jayesh Parekh/O=main
DTSTART:20150505T140000
DTEND:20150505T150000
LOCATION:Test - 3
SUMMARY;LANGUAGE=en-us:Test - 3
DESCRIPTION;LANGUAGE=en-us:bvnvn
UID:11EDF2741C3E857965257E39002A2911
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR

However, when I try to delete the same calendar entries, using the following ICS file, nothing happens:

BEGIN:VCALENDAR
VERSION:2.0
METHOD:CANCEL
BEGIN:VEVENT
ORGANIZER:CN=Chintan Jayesh Parekh/O=main
DTSTART:20150504T140000
DTEND:20150504T150000
LOCATION:Test - 3
SUMMARY;LANGUAGE=en-us:Test - 3
DESCRIPTION;LANGUAGE=en-us:bvnvn
STATUS:CANCELLED
UID:00EDF2741C3E857965257E39002A2900
TRANSP:TRANSPARENT
END:VEVENT

BEGIN:VEVENT
ORGANIZER:CN=Chintan Jayesh Parekh/O=main
DTSTART:20150505T140000
DTEND:20150505T150000
LOCATION:Test - 3
SUMMARY;LANGUAGE=en-us:Test - 3
DESCRIPTION;LANGUAGE=en-us:bvnvn
STATUS:CANCELLED
UID:11EDF2741C3E857965257E39002A2911
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR

The only difference here between the 2 ics files is the method and the status. I have tried the same thing on a google calendar and it simply deletes the appointments after the second import, however, nothing seems to happen when we do so in lotus notes. Is there any field we are suppose to set specially for notes so as to delete the entries?

Any help would really be appreciated.

我发现很难理解ICS文件在Lotus Notes中的工作原理。邀请作品确切地定义,而在取消事件没有发生。

比如说,当我导入一个ICS文件2个日历条目时,条目就按预期创建。

BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
ORGANIZER:CN=Chintan Jayesh Parekh/O=main
DTSTART:20150504T140000
DTEND:20150504T150000
LOCATION:Test - 3
SUMMARY;LANGUAGE=en-us:Test - 3
DESCRIPTION;LANGUAGE=en-us:bvnvn
UID:00EDF2741C3E857965257E39002A2900
TRANSP:TRANSPARENT
END:VEVENT

BEGIN:VEVENT
ORGANIZER:CN=Chintan Jayesh Parekh/O=main
DTSTART:20150505T140000
DTEND:20150505T150000
LOCATION:Test - 3
SUMMARY;LANGUAGE=en-us:Test - 3
DESCRIPTION;LANGUAGE=en-us:bvnvn
UID:11EDF2741C3E857965257E39002A2911
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR

然而,当我试图删除相同的日历条目,使用下面的ICS文件,什么都没有发生:

BEGIN:VCALENDAR
VERSION:2.0
METHOD:CANCEL
BEGIN:VEVENT
ORGANIZER:CN=Chintan Jayesh Parekh/O=main
DTSTART:20150504T140000
DTEND:20150504T150000
LOCATION:Test - 3
SUMMARY;LANGUAGE=en-us:Test - 3
DESCRIPTION;LANGUAGE=en-us:bvnvn
STATUS:CANCELLED
UID:00EDF2741C3E857965257E39002A2900
TRANSP:TRANSPARENT
END:VEVENT

BEGIN:VEVENT
ORGANIZER:CN=Chintan Jayesh Parekh/O=main
DTSTART:20150505T140000
DTEND:20150505T150000
LOCATION:Test - 3
SUMMARY;LANGUAGE=en-us:Test - 3
DESCRIPTION;LANGUAGE=en-us:bvnvn
STATUS:CANCELLED
UID:11EDF2741C3E857965257E39002A2911
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR

这2个ICS文件之间唯一的区别是方法和状态。我在谷歌日历上也尝试过同样的事情,它只是在第二次导入后删除了约会,但是,当我们在Lotus Notes中这样做时,似乎没有任何事情发生。是否有任何字段,我们假设专门设置为笔记,以便删除条目?

任何帮助真的会被感激。

answer1: 回答1:

Not sure whether it will solve your problem but:

  1. In all of the above, you are missing a DTSTAMP property, with a datetime in UTC corresponding to the date where that particular version of the event was created/modified. And of course, the DTSTAMP for the cancelled version shall be later in time than the original one.
  2. In your cancelled events, you are also missing a SEQUENCE property (with a value greater than the one of the original event). See https://tools.ietf.org/html/rfc5546#section-3.2.5 .

不知道它是否能解决你的问题:

  1. In all of the above, you are missing a DTSTAMP property, with a datetime in UTC corresponding to the date where that particular version of the event was created/modified. And of course, the DTSTAMP for the cancelled version shall be later in time than the original one.
  2. In your cancelled events, you are also missing a SEQUENCE property (with a value greater than the one of the original event). See https://tools.ietf.org/html/rfc5546#section-3.2.5 .
answer2: 回答2:

Finally I found the solution.

As @arnaudq pointed out I was not following the structure correctly.

It had something to do with the naming structure of the organizer field specifically in Notes (since it worked well on google calendar and few other application I tried with).

//Wrong Version
ORGANIZER:CN=Chintan Jayesh Parekh/O=main
//Corrected Version
ORGANIZER;CN=Chintan Jayesh Parekh/O=main:mailto:CN=Chintan Jayesh Parekh/O=main

Hope it is useful to someone facing the same problem.

最后我找到了解决方法。

“arnaudq指出我不遵循正确的结构。

它有一些与命名字段的命名结构特别是在笔记(因为它在谷歌日历和其他一些应用程序,我试过)。

//Wrong Version
ORGANIZER:CN=Chintan Jayesh Parekh/O=main
//Corrected Version
ORGANIZER;CN=Chintan Jayesh Parekh/O=main:mailto:CN=Chintan Jayesh Parekh/O=main

希望它是有用的人面临同样的问题。

lotus-notes  icalendar