Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用iCal4j库(Java-Spring)发送日历事件(邀请)_Java_Spring_Calendar_Google Calendar Api_Ical4j - Fatal编程技术网

使用iCal4j库(Java-Spring)发送日历事件(邀请)

使用iCal4j库(Java-Spring)发送日历事件(邀请),java,spring,calendar,google-calendar-api,ical4j,Java,Spring,Calendar,Google Calendar Api,Ical4j,这个问题与iCal4j库与Java(Spring)应用程序的集成有关 用例- 在我的应用程序中,当用户从UI创建一个事件时,被邀请者应该会收到一个日历邀请,他们只需单击事件即可将该邀请添加到他们的个人日历(Google日历、Outlook日历甚至Thundard日历)。此外,活动组织者应收到同一活动的日历邀请 担忧- 与会者通过电子邮件收到正确格式(Google calendar、Outlook和Thundarbird)的活动日历邀请,组织者收到一封带有附件(invite.ics)的空电子邮件。

这个问题与iCal4j库与Java(Spring)应用程序的集成有关

用例- 在我的应用程序中,当用户从UI创建一个事件时,被邀请者应该会收到一个日历邀请,他们只需单击事件即可将该邀请添加到他们的个人日历(Google日历、Outlook日历甚至Thundard日历)。此外,活动组织者应收到同一活动的日历邀请

担忧- 与会者通过电子邮件收到正确格式(Google calendar、Outlook和Thundarbird)的活动日历邀请,组织者收到一封带有附件(invite.ics)的空电子邮件。请注意,这种担心只会在Gmail邮件和Outlook邮件客户端中引起。在Thunderbird中,即使组织者也会收到完整的事件请求。 (请参阅随附的代码片段和图像以了解更多说明)

请让我知道如何解决此问题,或者我可以使用任何其他库或解决方案来完成此任务

提前谢谢

StringBuffer buffer = sb.append( "BEGIN:VCALENDAR\n" +
     "PRODID:-//PROD_NAME//PROD_ORG//EN\n" +
     "VERSION:2.0\n" +
     "X-WR-RELCALID:"+calendarEmail.getxWrRelcalid()+"\n" +
     "METHOD:REQUEST\n" +
     "BEGIN:VEVENT\n" +
     calendarEmail.getAttendeeString() +
     calendarEmail.getOrganizerString() +
     "DTSTART:" + calendarEmail.getDtStart() + "\n" +
     calendarEmail.getRruleString() +
     "DTEND:" + calendarEmail.getDtEnd() + "\n" +
     "LOCATION:" + calendarEmail.getLocation() + "\n" +
     "TRANSP:OPAQUE\n" +
     "SEQUENCE:"+calendarEmail.getSequence()+"\n" +
     "UID:" + calendarEmail.getUid() + "\n" +
     "DTSTAMP:" + calendarEmail.getDtStamp() + "\n" +
     "STATUS:"+calendarEmail.getEventStatusString()+"\n" +
     "CATEGORIES:" + calendarEmail.getCategory() + "\n" +
     "DESCRIPTION:" + calendarEmail.getDescription() + "\n" +
     "SUMMARY:" + calendarEmail.getSummary() + "\n" +
     "PRIORITY:5\n" +
     "CLASS:" + calendarEmail.getPublicity() + "\n" +
     "BEGIN:VALARM\n" +
     "TRIGGER:" + calendarEmail.getAlarmTrigger() + "\n" +
     "ACTION:" + calendarEmail.getAlarmAction() + "\n" +
     "DESCRIPTION:Reminder\n" +
     "END:VALARM\n" +
     "END:VEVENT\n" +
     "END:VCALENDAR" );


我认为这更多的是iCalendar规范如何工作的问题。具体而言,您可能希望了解:

在您的情况下,您的程序代表组织者,因此我不确定您是否可以向组织者用户发送“请求”

您可能需要向组织者用户发送“发布”方法:

您可能还想在组织者属性上考虑StE-BIN参数,以指示组织者用户没有发送请求(除非您希望答复返回到程序):