Google People API:搜索特定组中的联系人和特定时间后更新的联系人



我正在将我们的代码从Google Contacts API迁移到Google People API,因为Google联系人API很快就会被弃用,但我注意到新的People API与旧的联系人API相比很简单。

例如,下面的代码使用旧的联系人API来搜索特定的联系人组,并在特定日期后通过传递GroupStartDate参数进行更新,但现在我们无法使用新的联系人API进行相同的查询。

我的问题是,在新的People API中,是否有任何方法可以搜索特定组中的联系人,并仅获取在特定日期后更新的联系人?

我看到了一个使用syncToken的问题,但我认为这对我们来说不是一个好的解决方案。在特定时间后更新联系人条目的选项在Google People API 中未给出

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进行过滤的循环,但同样,您也有数据丢失的风险。

最新更新