我有以下代码可以正常工作。但问题是该调用检索了数千个联系人(大多数只有电子邮件)。我只想下载"联系人"中列出的那些联系人。 GMail中的标签。我不得不设置一个高" 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联系人或添加过滤器的内容,例如"其中地址存在"。有什么输入吗?
根据反馈,我滚动浏览所有联系人群组以查找群组"通讯录"。
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
。似乎工作正常。