编程语言
首页 > 编程语言> > java-以编程方式为Lotus Notes创建约会

java-以编程方式为Lotus Notes创建约会

作者:互联网

我需要创建一个约会(日历项)并将其自动分发给某些受邀者.

我现在有两个问题:

1)日历条目未出现在椅子的日历上.我已通过将椅子添加为必需的参与者来解决此问题,该椅子会向他们发送确认通知,但是我想知道如何自动添加它.

2)正在向被邀请者发送邀请,但他们无法确认邀请. Lotus引发错误,表明他们无法处理邀请,因为在邮件文件中不存在偶数.

我的代码在JAVA中,但是如果需要,我可以移植到Lotusscript或Formula.我只需要使其工作即可.

import java.util.GregorianCalendar;

import lotus.domino.AgentBase;
import lotus.domino.Database;
import lotus.domino.Document;
import lotus.domino.Session;

public class JavaAgent extends AgentBase {

    public void NotesMain() {

      try {
          Session s = getSession();
          Database db = s.getDatabase("server", "maildatabase.nsf", false);
          String user = s.getUserName();

          Document doc = db.createDocument();
          doc.replaceItemValue("Form", "Appointment");
          doc.replaceItemValue("AppointmentType", "3");
          doc.replaceItemValue("$PublicAccess", "1");

          doc.replaceItemValue("Subject", "New Meeting"); 
          doc.replaceItemValue("CALENDARDATETIME", s.createDateTime(new GregorianCalendar(2012, 7, 24, 9, 0)).getLocalTime());
          doc.replaceItemValue("Body", "an invitation");

          doc.replaceItemValue("StartDate", s.createDateTime("08/24/2012").getLocalTime());
          doc.replaceItemValue("EndDate", s.createDateTime("08/24/2012").getLocalTime());
          doc.replaceItemValue("StartTime", s.createDateTime("09:00:00 AM").getLocalTime());
          doc.replaceItemValue("EndTime", s.createDateTime("10:00:00 AM").getLocalTime());
          doc.replaceItemValue("StartDateTime", s.createDateTime(new GregorianCalendar(2012, 7, 24, 9, 0)));
          doc.replaceItemValue("EndDateTime", s.createDateTime(new GregorianCalendar(2012, 7, 24, 10, 0)));

          doc.replaceItemValue("RequiredAttendees", "Invitee/company");
          doc.appendItemValue("RequiredAttendees",user);

          doc.replaceItemValue("SendTo", "Invitee/company");
          doc.appendItemValue("SendTo",user);
          doc.replaceItemValue("EnterSendTo", "Invitee/company");
          doc.appendItemValue("EnterSendTo",user);
          doc.replaceItemValue("From", user);
          doc.replaceItemValue("Principal",user);
          doc.replaceItemValue("Chair", user); 
          doc.replaceItemValue("Location", "location test");


          doc.computeWithForm(true, false);
          doc.save(true,false,false);

          String sendTo = doc.getItemValueString("SendTo");
          doc.send(false, sendTo);

      } catch(Exception e) {
          System.out.print(e.getMessage());
       }
   }
}

任何帮助表示赞赏.谢谢.

解决方法:

我认为找出是否有可能向所有与会者发送iCalendar文件很有趣.网上有几个示例,下面是一些示例:
send appointment invitation to lotus notes 8.5 clients via c#
http://www.dominoguru.com/pages/icalendar_domino-outlook.html

标签:lotus-notes,calendar,appointment,java
来源: https://codeday.me/bug/20191127/2076446.html