Google人物API:搜索特定群组中的联系人以及特定时间后更新的联系人

Google People API: search contacts in a specific group and contacts updated after a specific time

我正在将我们的代码从 Google Contacts API 迁移到 Google People API,因为 Google 联系人 API 将很快被弃用,但我注意到新人 APIs与旧的 Contacts API.

进行比较很简单

例如,我们在下面的代码中使用旧的联系人 API 在特定联系人组中进行搜索,并在特定日期后通过传入 GroupStartDate 进行更新参数,但现在我们不能对新人进行相同的查询 API.

我的问题是在新人 API 中,有没有什么方法可以搜索特定组中的联系人,并且只获取在特定日期之后更新的联系人?

我看到一个问题使用了 syncToken,但我认为这对我们来说不是一个好的解决方案。

                GData.Contacts.ContactsFeed feed = service.Query(
                    new GData.Contacts.ContactsQuery("https://www.google.com/m8/feeds/contacts/default/full/")
                    {
                        OAuthRequestorId = employeeUserEmail,
                        Group = [contact group url],
                        NumberToRetrieve = FetchSize,
                        StartIndex = 1,
                        StartDate = [a date that only get contacts were modified after it],
                    });

我认为他们有意从使用时间戳方法(给我自 2021 年 1 月 1 日以来更新的所有联系人)转向使用 SyncToken 方法。

SyncToken 消除了任何可能导致数据丢失的竞争条件。 例如,如果在查询正在进行时更新联系人,这会导致竞争条件,无论该联系人是否会包含在下一个查询中,这可能会导致数据更改无法同步,并且下一次同步将被覆盖。

因此,如果您要进行全新同步,或者超过 7 天未同步,只需通过以下方式获取群组中的所有联系人:contactGroups.get。 如果上次同步时间少于 7 天,请使用同步令牌仅获取更新的联系人。

您可能会获取一个组的所有联系人,然后 运行 一个通过 sources.updateTime 过滤的循环,但同样,您有数据丢失的风险。