Google Contacts V3,仅检索 GMail 联系人

Google Contacts V3, retrieving GMail contacts only

我有以下代码可以正常工作。但问题是该呼叫检索了数千个联系人(大多数只有电子邮件)。我只想下载 GMail 中 "Contacts" 选项卡中列出的那些联系人。我必须设置一个高值 "NumberToRetrieve",然后必须过滤除电子邮件以外的更多信息。

Dim cr As New ContactsRequest(settings)
Dim query As New ContactsQuery(ContactsQuery.CreateContactsUri("default"))
query.NumberToRetrieve = 5000
query.OrderBy = ContactsQuery.OrderByLastModified
query.SortOrder = ContactsQuery.SortOrderDescending

Dim f As Feed(Of Contact) = cr.Get(Of Contact)(query)

和往常一样,这个 Google API 也设计得很糟糕。至少在 API 的 .Net 包装器中,我没有看到任何可用于仅检索 GMail 联系人或添加过滤器(例如 "where Address exists")的内容。有任何输入吗?

编辑

根据反馈,我滚动浏览了所有联系人组以找到组 "Contacts"。

Dim groupquery As New GroupsQuery(GroupsQuery.CreateGroupsUri("default"))
            Dim fgrp As Feed(Of Group) = cr.Get(Of Group)(groupquery)
            Dim GroupAtomId As String = ""
            For Each gr In fgrp.Entries
                If gr.Title.Contains("Contacts") Then
                    GroupAtomId = gr.Id
                    Exit For
                End If
            Next

然后使用了 GroupAtomId,query.Group = GroupAtomId。似乎工作正常。

要从 Gmail 中的 Contacts 选项卡检索所有联系人,您必须在查询中指定组值 (Group),如 here and also for retrieving just the contacts in Contacts tab in Gmail, the group value would be just Contacts as shown here

希望对您有所帮助!