是.ics文件支持邮寄?邮寄时是否支持RSVP等iCal功能?

时间:2017-05-02 14:26:38

标签: javascript icalendar gcal

我正在开发一个基于JavaScript的应用程序,该应用程序在每个事件的1个组织者和1个或多个与会者之间设置事件。由于面向公众,组织者和与会者可以使用几乎任何(主要)日历和/或电子邮件服务。

我已经确定iCal(.ics)是用于共享日历事件的最广泛支持的格式,因此我编写了发出有效.ics文件的代码(针对多个在线验证器成功测试)但我很困惑如何使用该文件。我的期望是:

  1. 使用组织者和与会者生成.ics文件(以及组织者的参与者条目,PARSTAT = ACCEPTED)
  2. 组织者将.ics文件发送给与会者(fyi:通过在组织者的ui中打开邮件客户端实现预先附加的.ics文件并预设为:字段)
  3. 组织者和与会者各自的邮件/日历服务提供商(例如gmail / gcal / outlook / exchange / etc)解析.ics文件并自动将其添加到用户的日历中
  4. 日历服务提供商
  5. 跟踪RSVP状态

    但是,出于各种原因,这种用法似乎不适用于主要提供商,例如:为简单起见,我们假设组织者和与会者都使用Gmail:

    1. Gmail似乎在组织者一方(.ics文件发件人)和与会者方(收件人)上解析文件,但仅为与会者提供将事件添加到其日历的操作。没有为组织者提供自动操作以将其添加到他/她的日历中。我可以确认它是在主办方那边解析的,因为Gmail“知道”它是组织者并故意不提供“添加日历”操作,即使他/她也是参与者(通过修改组织者来测试)。 ics文件)。

    2. 向与会者提供“添加到日历”操作,在添加后,提供了RSVP操作,但实际上并未与组织者同步(此时谁可能有甚至没有事件在他/她的日历中,取决于他们是否手动添加。)

    3. 我可以保证正确定义与会者(使用PARTSTAT = NEEDS-ACTION; ROLE = REQ-PARTICIPANT; RSVP = TRUE)并且我生成的.ics文件有效且内容正确。

      • 上面列出的上述预期用法是否与.ics标准不一致,或者是由于日历/邮件提供商的特性而导致的问题?

      • 是否存在使用.ics文件来完成此用例的另一种策略,或者我是否从根本上误解了.ics文件的用法 - 它们不是要作为附件邮寄吗?除非您运行自己的CalDAV服务器,否则它们不支持RSVP吗?

1 个答案:

答案 0 :(得分:1)

使用iMIP / iTIP,没有向组织者日历“注入”邀请的概念。初始工作流程由组织者触发,因此假设事件已经在组织者的日历中。

对于第2点)如果组织者日历中的事件 并且未处理回复,则可能存在使用协议的方式问题。我们需要细节(原始的REQUEST和REPLY)来帮助您调试它。

How can I create and email an invite for two unrelated recipients to a meeting between them and allow them to control further scheduling

处的某种相关反应