如何使用 gdata 检索单个联系人?出现 'not supported' 错误

How to retrieve a single contact with gdata? Getting a 'not supported' error

我在此处复制代码 https://developers.google.com/google-apps/contacts/v3/#retrieving_a_single_contact

这是我的代码:

Dim cr = ContactAuthentication()
Dim groups = GetGroups(cr)
Dim entry As Contact
entry = cr.Retrieve(Of Contact)(New Uri("https://www.google.com/m8/feeds/contacts/default/full/38B2D4F80D96B2C2"))

在最后一行,出现以下错误:

Google.GData.Client.GDataRequestException: 'Execution of request failed: https://www.google.com/m8/feeds/contacts/default/full/38B2D4F80D96B2C2?max-results=100'

"The 'max-results' parameter is not supported on this resource"

这很奇怪,因为我从来没有输入最大结果参数。此外,如果它有任何不同,Google 文档显示了一个示例,该示例将字符串 url 作为 Retrieve 的参数。我找不到这样的重载,最接近的是我放在这里的,使用 Uri

有人知道如何通过 ID 检索单个联系人以进行更新吗?

谢谢!

你可以参考这个documentation: Retrieving a single contact。要检索单个联系人,请将授权的 GET 请求发送到联系人的 selfLink URL:

https://www.google.com/m8/feeds/contacts/{userEmail}/full/{contactId}

用适当的值代替 userEmailcontactID。请注意,特殊的 userEmail 值 default 可用于指代经过身份验证的用户。

并且正如这个 post 所提到的,也许你有 setting.Pagesize = 100,这导致你的 uri 是 https://www.google.com/m8/feeds/contacts/{userEmail}/full/{contactId}?max-results=100.

希望对您有所帮助!