如何跟踪用户日历列表中日历的变化?

How to track changes of calendars in the user's calendar list?

我为 CalendarList 打开了一个推送通知频道。 Google 通知我的应用关于列表中的 adding/removing/hiding 个项目,但不通知项目本身的更改。

Push notifications docs提到只有AclCalendarListEventsSettings可以观看。我尝试注册 CalendarList 提供特定日历 ID 的列表频道,但这似乎不起作用。

是否可以观察日历其他属性的变化,比如摘要?

在我看来,另一种方法是对所有注册帐户执行定期同步。但是,我如何才能确保用户在需要时看到具有最新更改的日历?每次显示日历时我都可以触发后台同步,可能会有一些限制。然而,这看起来不是一个很好的解决方案。

是否有任何其他方法可以使本地存储的日历保持最新?

遗憾的是,无法查看日历属性的变化。而且 Google 日历与更改通知不太一致。几分钟后可能会收到通知。

我保留事件的副本,每当有更新时,我都会查看数据库中的复制事件与传入更新之间的区别,并决定用户是否需要查看此更新。为了使本地存储的日历保持最新,我打开了日历的推送通知通道,并且还定期检查(因为不一致)以查看是否有任何更改。

您也可以在Get event info from resource id on push notification google calendar.

中查看我关于定期同步的回答