如何跟踪用户日历列表中日历的变化?
How to track changes of calendars in the user's calendar list?
我为 CalendarList
打开了一个推送通知频道。 Google 通知我的应用关于列表中的 adding/removing/hiding 个项目,但不通知项目本身的更改。
Push notifications docs提到只有Acl
、CalendarList
、Events
和Settings
可以观看。我尝试注册 CalendarList
提供特定日历 ID 的列表频道,但这似乎不起作用。
是否可以观察日历其他属性的变化,比如摘要?
在我看来,另一种方法是对所有注册帐户执行定期同步。但是,我如何才能确保用户在需要时看到具有最新更改的日历?每次显示日历时我都可以触发后台同步,可能会有一些限制。然而,这看起来不是一个很好的解决方案。
是否有任何其他方法可以使本地存储的日历保持最新?
遗憾的是,无法查看日历属性的变化。而且 Google 日历与更改通知不太一致。几分钟后可能会收到通知。
我保留事件的副本,每当有更新时,我都会查看数据库中的复制事件与传入更新之间的区别,并决定用户是否需要查看此更新。为了使本地存储的日历保持最新,我打开了日历的推送通知通道,并且还定期检查(因为不一致)以查看是否有任何更改。
您也可以在Get event info from resource id on push notification google calendar.
中查看我关于定期同步的回答
我为 CalendarList
打开了一个推送通知频道。 Google 通知我的应用关于列表中的 adding/removing/hiding 个项目,但不通知项目本身的更改。
Push notifications docs提到只有Acl
、CalendarList
、Events
和Settings
可以观看。我尝试注册 CalendarList
提供特定日历 ID 的列表频道,但这似乎不起作用。
是否可以观察日历其他属性的变化,比如摘要?
在我看来,另一种方法是对所有注册帐户执行定期同步。但是,我如何才能确保用户在需要时看到具有最新更改的日历?每次显示日历时我都可以触发后台同步,可能会有一些限制。然而,这看起来不是一个很好的解决方案。
是否有任何其他方法可以使本地存储的日历保持最新?
遗憾的是,无法查看日历属性的变化。而且 Google 日历与更改通知不太一致。几分钟后可能会收到通知。
我保留事件的副本,每当有更新时,我都会查看数据库中的复制事件与传入更新之间的区别,并决定用户是否需要查看此更新。为了使本地存储的日历保持最新,我打开了日历的推送通知通道,并且还定期检查(因为不一致)以查看是否有任何更改。
您也可以在Get event info from resource id on push notification google calendar.
中查看我关于定期同步的回答