当前位置: 首页 > 知识库问答 >
问题:

谷歌日历在使用“添加到日历”链接时忽略ICS UID

滕胜涝
2023-03-14

开发一个应用程序,申请者可以通过第三方服务安排与我们团队成员的面试。我们定期向第三方发出API调用,以了解最近的任何变化,生成一个ICS文件,然后通过电子邮件将该文件发送给我们的团队成员,以便他们可以将其存储在谷歌日历中。

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Google Inc//Google Calendar 70.9054//EN
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20171001T180000Z
DTEND:20171001T190000Z
SUMMARY:Sample Event
UID:5179167a74d55b6fbaf6193026af14de@example.io
DTSTAMP:20171001T023000Z
ORGANIZER:noreply@example.io
SEQUENCE:0
END:VEVENT
END:VCALENDAR

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

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Google Inc//Google Calendar 70.9054//EN
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20171001T190000Z
DTEND:20171001T200000Z
SUMMARY:Sample Event
UID:5179167a74d55b6fbaf6193026af14de@example.io
DTSTAMP:20171001T023224Z
ORGANIZER:noreply@example.io
SEQUENCE:1
END:VEVENT
END:VCALENDAR

我发现,如果我直接导入ICS文件,而不是使用“Add to Calendar”链接,那么UID将保留为最初创建的,并且更新/取消将按预期工作。由于在Google Calendar中导入事件的过程并不是最简单的工作流程,而且我们预计会有大量的事件,所以我希望保留“添加到Calendar”的方法。

对我做错了什么有什么建议吗?

共有1个答案

楚嘉胜
2023-03-14

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

 类似资料:
  • 我有一个应用程序使用s2s与谷歌日历API的连接。我需要在不同的用户日历中创建事件。若要使之成为可能,用户应转到日历的设置并将其日历共享到服务帐户。但我想为用户简化这一点 - 这样他们就不需要去他们的日历设置。我没有用于用户交互的界面 - 这是一个机器人。如何以其他方式访问用户的日历?

  • 是否有人有链接或可以提供Java谷歌应用程序引擎项目的代码,该项目只是与谷歌日历交互。假设从日历中获取活动。 Google Sample calendar-app engine-Sample在从HG检出后无法编译,我曾尝试搜索教程并创建自己的教程,只是运气好而已。 我已经设置了一个 API 访问项目来获取客户端机密.json。

  • 在使用GoogleCalendarAPI(与python一起使用)时,我已经能够获得我想要的变量,因此我可以将事件导出到文本文件中。然而,一个变量(位置)触发了一个错误,我不知道为什么。 这直接来自google的开始代码,我还添加了我想要的变量: 它会打印一个即将到来的约会列表,包括地点,但它会停止并向我抛出这个错误 这是凭据/json的问题吗?我使用的是谷歌日历api的旧版本吗?我怎么检查?我的

  • 谷歌日历API…/auth/Calendar查看、编辑、共享和永久删除您可以使用谷歌日历访问的所有日历 谷歌日历API…/auth/Calendar。acls查看并更改您拥有的Google日历的共享权限 谷歌日历API…/auth/Calendar。事件查看和编辑所有日历上的事件 CalendarQuickstart或CalendarReader很好,它们从日历中读取,但:当我尝试写入日历时,我得

  • 我希望我的应用在用户的 Google 日历上添加/删除/更新事件。应用只需删除和更新应用本身已添加的事件。 我是否正确地理解了这一点,为了使其正常工作,用户必须向应用程序授予对其Google日历的完全访问权限,这意味着该应用程序可能会读取和删除任何日历上的私人事件? 或者,有没有办法限制用户对应用程序的访问权限,例如,允许应用程序创建单个日历,只允许它访问该日历上的事件? 我已经通读了相关的谷歌日

  • 我想知道我是否需要Google java客户端库才能从GAE访问我的Google日历。默认情况下,它们是Google App Engine SDK的一部分吗? 此外,我找不到一个很好的示例或教程来展示如何从Google Cloud Platform应用程序创建、读取、更新和删除Google日历事件。 非常感谢,如果您可以提供相同的代码示例或链接到适当的工作教程。