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 在特定联系人组中进行搜索,并在特定日期后通过传入 Group
和 StartDate
进行更新参数,但现在我们不能对新人进行相同的查询 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
过滤的循环,但同样,您有数据丢失的风险。
我正在将我们的代码从 Google Contacts API
迁移到 Google People API
,因为 Google 联系人 API 将很快被弃用,但我注意到新人 APIs与旧的 Contacts API.
例如,我们在下面的代码中使用旧的联系人 API 在特定联系人组中进行搜索,并在特定日期后通过传入 Group
和 StartDate
进行更新参数,但现在我们不能对新人进行相同的查询 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
过滤的循环,但同样,您有数据丢失的风险。