首页 > 解决方案 > Google Calendar API 的 Sync Token 如何针对每个请求使用不同的请求过滤器(timeMin、timeMax)?

问题描述

我的应用程序的目标是保持 Google 用户过去 7 天和接下来 7 天的日历和事件的同步副本。

IE 每次针对 Google API 执行日历/事件查询时,TimeMin都设置为DateTimeOffset.UtcNow.AddDays(-7)TimeMax设置为DateTimeOffset.UtcNow.AddDays(7)(此处以 C# 为例)。

现在,我每次都使用上述过滤器执行完全同步,并将结果集与本地副本进行比较。添加了新事件,更新了更新的事件,未更改的事件保持不变。

特别是对于删除,我在 Google 端设置ShowDeletedfalse,所以远程结果不包含已删除的事件,因此我可以通过比较来判断哪些事件应该被删除。由于TimeMinTimeMax过滤器在每次同步时不断变化,因此由于时间而“超出范围”的事件自然不会出现在远程结果集中,因此会从本地副本中删除。

我想知道在这种情况下,是否值得将其syncToken用于增量同步,如果是,它将如何处理移位timeMintimeMax每个请求?

标签: google-apigoogle-calendar-apigoogle-api-dotnet-client

解决方案


推荐阅读