【问题标题】:Google People API: search contacts in a specific group and contacts updated after a specific timeGoogle People API:搜索特定组中的联系人并在特定时间后更新联系人
【发布时间】:2021-05-26 14:51:43
【问题描述】:

我正在将我们的代码从 Google Contacts API 迁移到 Google People API,因为 Google Contacts API 很快就会被弃用,但我注意到新的 People API 很容易与旧的 Contacts API 进行比较。

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

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

我看到一个问题使用syncToken,但我认为这对我们来说不是一个好的解决方案。 Option to get the contact entries updated after a specific time NOT given in 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],
                    });

【问题讨论】:

    标签: google-api google-people-api


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 感谢 @marmor 的解释,关于从特定组获取联系人,我认为我们无法获取组 iva contactGroups.get 的所有联系人,因为它不支持分页(只有maxMembers 参数),对吗?我认为我们仍然需要通过people.connections.list 循环所有联系人以检查特定组中的联系人。
    • 只需为 maxMembers 字段传递 25000 即可获得所有成员。 Google 联系人的上限为 25,000 个联系人,因此一个组不能包含超过这个上限
    • 25,000 对于大多数情况来说已经足够大了,但 Google 确实应该在 people.connections.list 上公开一个 group 参数,这会让事情变得更容易
    猜你喜欢
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多