当远程icalendar文件更改时,防止谷歌日历创建重复条目

时间:2012-05-23 16:55:36

标签: icalendar

在我的大学校园里发生了很多事件,而且和其他几个学生一起,我们认为将活动日程安排作为日历会很好。所以组织者在内联网上注册他们的活动,它被添加到一个icalendar文件中,校园里的人可以订阅。

当人们在iPhone上加载日历网址时,此功能非常有用,但在Google日历中加载时则不会。我们注意到两个问题:

  1. 当您订阅日历然后注销并重新登录时,事件将不再可见。有时,单击刷新会修复它。通风口不会从与您的帐户关联的Android设备中消失。
  2. 当从icalendar文件中删除某个事件时(例如,如果它被取消),它仍会保留在与订阅该日历的任何Google帐户同步的Android设备上。然而,新事件同步很好,因此并不是同步没有发生。
  3. 你知道如何解决这两个问题吗?我注意到STATUS:CANCELLED中的VEVENT属性,但是当日历方法为PUBLISH时它似乎不起作用。

    谢谢!

    PS:如果您可以建议一种方法来更快地测试更改,等待Google从服务器提取更改,那就太棒了;现在,我必须在每次测试之间等待大约6个小时...

2 个答案:

答案 0 :(得分:3)

我的理解是从文件中删除它不是取消事件的方法。必须确保有一个UNIQUE标识符来匹配任何更改。 还必须遵循取消/更改事件的规范。

请参阅How to cancel an calendar event using ics files?

如果所有这些都是正确的,那么“订阅”日历的各种应用程序理论上应该在读取更新文件时更新事件状态。不幸的是,速度和频率取决于该应用程序。 (注意:请注意subscribe和“import”之间的区别)

是的我注意到谷歌有时候更新很慢。我唯一能想到的是使用另一个应用程序,您可以控制订阅更新频率,以测试您取消事件的方式是否有效。一旦你看到取消发生在那里,然后在谷歌上恢复测试(我注意到谷歌比一些应用程序更迂腐,所以你可能仍然需要努力让它100%在谷歌上工作。)

希望有所帮助!

答案 1 :(得分:0)

我已尝试过这些建议,但Google日历只会添加其他活动。 iCalendar验证器表示我生成的文件是有效的,如果Mac上的iCal具有取消信息,则会删除该事件。但谷歌日历或Outlook都没有。相当令人沮丧。