【问题标题】:Google Calendar ignoring ICS UID when using "Add to Calendar" link谷歌日历在使用“添加到日历”链接时忽略 ICS UID
【发布时间】:2018-03-12 13:15:37
【问题描述】:

开发一个应用程序,申请人可以通过第三方服务安排与我们团队成员的面试。我们会定期向第三方进行 API 调用以获取任何最近的更改,生成一个 ICS 文件,然后将该文件通过电子邮件发送给我们的团队成员,以便他们可以将其存储在他们的 Google 日历中。

开始:VCALENDAR 版本:2.0 产品:-//Google Inc//Google 日历 70.9054//EN CALSCALE:公历 方法:请求 开始:事件 DTSTART:20171001T180000Z DTEND:20171001T190000Z 摘要:示例事件 UID:5179167a74d55b6fbaf6193026af14de@example.io DTSTAMP:20171001T023000Z 组织者:noreply@example.io 序列:0 结束:事件 结束:VCALENDAR

我遇到的问题是,当团队成员单击 Google Mail 生成的“添加到日历”链接时。它会忽略我生成的 UID,5179167a74d55b6fbaf6193026af14de@example.io,并创建自己的 UID:20d19q1acurfub15pe94hb1b7s@google.com

因此,当对事件进行更新时,UID 与 Google 存储的不同,因此它会创建一个全新的事件,而不是更新现有事件。在下面的示例中,事件提前了 1 小时:

开始:VCALENDAR 版本:2.0 产品:-//Google Inc//Google 日历 70.9054//EN CALSCALE:公历 方法:请求 开始:事件 DTSTART:20171001T190000Z DTEND:20171001T200000Z 摘要:示例事件 UID:5179167a74d55b6fbaf6193026af14de@example.io DTSTAMP:20171001T023224Z 组织者:noreply@example.io 序列:1 结束:事件 结束:VCALENDAR

所以现在有两个事件用于同一采访,使用两个不同的 xxx@google.com UID。

我发现,如果我直接导​​入 ICS 文件,而不是使用“添加到日历”链接,则 UID 会保留为最初创建的状态,并且更新/取消会按预期工作。由于在 Google 日历中导入事件的过程不是最简单的工作流程,而且我们期待的大量事件,我希望保留“添加到日历”方法。

关于我在这里做错了什么有什么建议吗?

【问题讨论】:

    标签: gmail google-calendar-api icalendar


    【解决方案1】:

    您发送的会议请求没有任何 ATTENDEE 属性。根据https://www.rfc-editor.org/rfc/rfc5546#section-3.2.2,参加者是强制性的 这是日历服务器混乱的最可能原因。

    【讨论】:

      猜你喜欢
      • 2020-08-06
      • 2017-05-29
      • 1970-01-01
      • 2011-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-21
      相关资源
      最近更新 更多