【问题标题】:Sending Calendar Events (Invitations) using iCal4j library (Java - Spring)使用 iCal4j 库 (Java - Spring) 发送日历事件(邀请)
【发布时间】:2019-01-02 02:54:25
【问题描述】:

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

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

关注 - 当与会者通过电子邮件收到以正确格式(Google 日历、Outlook 和 Thundarbird)创建的活动的日历邀请时,组织者会收到一封带有附件 (invite.ics) 的空电子邮件。请注意,此问题仅在 Gmail 邮件和 Outlook 邮件客户端中出现。在 Thunderbird 中,即使是组织者也会收到完整的活动请求。 (请参考随附的代码 sn-p 和图像以获得进一步的说明)。

请让我知道如何解决此问题或我可以用来完成此问题的任何替代库或解决方案。

提前致谢。

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" );

【问题讨论】:

    标签: java spring calendar google-calendar-api ical4j


    【解决方案1】:

    我认为这更多是关于 iCalendar 规范如何工作的问题。具体你可能想看看:

    https://www.rfc-editor.org/rfc/rfc5546#section-3.2.2

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

    您可能需要向 Organizer 用户发送“PUBLISH”方法:

    https://www.rfc-editor.org/rfc/rfc5546#section-3.2.1

    您可能还需要考虑 Organizer 属性上的 SENT-BY 参数,以指示 Organizer 用户未发送请求(除非您希望回复返回到您的程序):

    https://www.rfc-editor.org/rfc/rfc5545#section-3.2.18

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-09
      • 2017-09-02
      • 2015-12-10
      • 2014-05-04
      • 1970-01-01
      • 1970-01-01
      • 2021-07-21
      • 1970-01-01
      相关资源
      最近更新 更多