【问题标题】:Produce an iCal appointment and subsequent updates via email but don't offer accept/decline options通过电子邮件生成 iCal 预约和后续更新,但不提供接受/拒绝选项
【发布时间】:2014-02-11 23:48:01
【问题描述】:

我们正在编写一个具有预订功能的系统,并计划让它通过电子邮件将 *.ics 文件发送给与会者,以便他们可以轻松地将约会添加到他们的日历中。活动类型包括培训课程(例如下午 3 点在董事会会议室)。

我们已经完成这项工作,系统会发送 *.ics,并且使用 Gmail 和 Outlook,用户可以接受约会,然后将约会添加到他们的日历中。

有时事件会发生变化(例如课程被取消或延迟到第二天)。我们的软件可以发送一个新的 *.ics 文件,Gmail/Outlook 可以正确识别这是对原始约会的更新,并提供再次接受/拒绝的选项。

问题是,我们没有一种机制来通过电子邮件接收标准电子邮件客户端在用户接受/拒绝约会时自动发送的接受/拒绝响应。因此,点击“拒绝”选项可能会给他们一种错误的感觉,即他们已经取消了约会,而实际上我们的系统并不知道他们在日历中做了什么。

我们始终希望用户直接在网站上发起预订,而通过电子邮件发送的 *.ics 只是帮助他们记住参加的一种便利。与航班预订类似,如果乘客真的打算取消,则需要比在 Outlook 中单击“拒绝”更明确的操作。在我进行了一些航班预订后,承运人向我发送了一个 *.vcs 文件,其中包含“METHOD:PUBLISH”而不是“METHOD:REQUEST”,这听起来更接近我们想要的,尽管在测试中,这个 *.vcs 文件GMail 未将其识别为约会。

所以问题是,我们是否可以通过电子邮件发送约会以及后续更新,Outlook、GMail 和 Lotus Notes 将自动识别这些约会,但防止用户认为他们可以在自己的日历中取消/拒绝整个预订工具?如果有,怎么做?

更新 1

我想我发现了我正在试验的 METHOD:PUBLISH 航空公司预订示例的问题 - 这是过去的日期。使用未来日期,我们现在可以使用 METHOD:PUBLISH 允许人们将事件添加到他们的日历中,而无需接受/拒绝。现在的问题是,如果事件被取消或更改,我们无法获得一个新的 *.ics 来被识别为覆盖原来的。我们正在分配一个唯一的 UID 并为事件增加 SEQUENCE 字段,但我不知道规范是否允许“PUBLISH”-ed 事件优雅地处理更新(日期、时间、位置、描述等)

更新 2

好的,我刚刚试验了来自spec 的示例 *.ics 文件。使用 4.1.1“最小的已发布事件”和 4.1.2“更改已发布事件”中的示例,我将发送我认为符合规范的已发布事件以及后续更新。 Outlook 2010 和 GMail 都将更新视为新事件。因此,在这一点上,我将假设 Outlook 和 GMail 仅部分支持 *.ics 文件,放弃优雅的更新,并简单地指示用户在我向他们发送新的日历约会时删除他们的旧日历约会。

【问题讨论】:

  • 为什么收不到通知?只要正确指定了组织者,Outlook 就会发送通知。
  • 澄清一下 - 接收通知不是问题。我们不希望 Outlook 首先发送它们,因为我们不希望为用户提供接受/拒绝选项。创建、确认和取消预订将在我们的网站上完成 - 而不是通过 Outlook/Gmail/Lotus Notes。
  • 我认为我们不能仅通过调整 iCal 数据来做到这一点。您需要直接在用户的日历文件夹中创建约会。
  • 有没有人找到一个优雅的解决方案? (与“嘿用户,忽略最后一个事件!”)

标签: outlook gmail lotus-notes icalendar


【解决方案1】:

iCalendar 格式还指定 METHOD:PUBLISH(请参阅 http://tools.ietf.org/search/rfc5546#section-3.2.1)。不清楚您是否尝试过带有 METHOD:PUBLISH 的 .ics 文件(并且没有 ATTENDEE 属性)。

【讨论】:

  • 我想我发现了我正在试验的 METHOD:PUBLISH 航空公司预订示例的问题 - 这是过去的日期。使用未来日期,我们现在可以使用 METHOD:PUBLISH 允许人们将事件添加到他们的日历中,而无需接受/拒绝。现在的问题是,如果事件被取消或更改,我们无法让新的 *.ics 被识别为覆盖原始的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-08
  • 2012-03-21
  • 2014-09-20
  • 1970-01-01
  • 2018-03-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多