我目前遵循的方法如下。
任何人都可以帮助如何做到这一点。任何相关材料的参考也会有所帮助。谢谢你们。
答案 0 :(得分:3)
这是指向当前Lotus Notes C& S schema的链接。这是所有更新已经并将继续发布的地方。
根据您使用的Notes版本,您可以使用C& S API。 IBM在Notes 9.0中公开了C& S API。 API是用于公开Domino的框架和一组方法 日历和日程安排功能,无需了解所有架构详细信息。
API提供了使用iCalendar在邮件文件中创建,读取,更新和删除日历数据的功能。它们还允许对日历条目和通知(接受,拒绝,取消等)进行明确的操作。
还向OpenNTF发布了一个使用这些新API的REST服务API。您可以在其上获得更多详细信息here。
如果您使用9.0之前的版本,则必须完全依赖已发布的架构并自行制作所有文档。
答案 1 :(得分:2)
正如Richard和Bruce所说,Notes日历架构已有详细记录。如果您使用的是N / D 8.5.3或之前,则必须在创建日历条目时了解架构。但是,如果您使用的是N / D 9.0或更高版本,您可能会发现使用Java NotesCalendar,NotesCalendarEntry和NotesCalendarNotice接口更加容易。这些新API需要对iCalendar有所了解,但使用iCalendar通常比完全理解Notes日历架构的细节更容易。
例如,请考虑重复事件的此iCalendar表示:
BEGIN:VCALENDAR
PRODID:-//Lotus Development Corporation//NONSGML Notes 9.0//EN_API_S
BEGIN:VEVENT
DTSTART:20140319T180000Z
DTEND:20140319T200000Z
TRANSP:OPAQUE
RRULE:FREQ=WEEKLY;COUNT=15;BYDAY=WE
SEQUENCE:0
CLASS:PUBLIC
SUMMARY:Track workout
LOCATION:High school track
END:VEVENT
END:VCALENDAR
此活动的第一个实例于2014年3月19日18:00 UTC开始(参见DTSTART)并于UTC时间20:00结束(参见DTEND)。该事件每周三重复15周(见RRULE)。
您可以使用几行Java代码将此类事件添加到Notes数据库中:
// Get the NotesCalendar object from the database
NotesCalendar notesCalendar = session.getCalendar(database);
if ( notesCalendar == null ) {
throw new Exception("Cannot open calendar.");
}
// Create the meeting on the Notes calendar
NotesCalendarEntry entry = notesCalendar.createEntry(icalendar);
在此代码中,icalendar
只是一个包含上面显示的iCalendar数据的字符串,而NotesCalendar和NotesCalendarEntry接口来自lotus.domino
包。 createEntry
方法将事件添加到日历中。更好的是,它会自动向与会者发送邀请(当存在于iCalendar数据中时),它会处理重复事件的复杂性。
有关更多iCalendar示例,请参阅iCalendar representation of an event。有关iCalendar规范,请参阅RFC5545。
答案 2 :(得分:1)
以下是Notes日历schema的链接。
从上面的描述中,您似乎缺少的最重要的事情是Lotus Notes中的重复会议由父子关系中的一组文档表示,而不仅仅是单个文档。