获取Google联系人API v3.0的所有联系人

4 投票
1 回答
9132 浏览
提问于 2025-04-18 10:59

我正在尝试从我的Gmail账户中获取所有联系人。目前似乎只能随机获取大约25个(我在“我的联系人”组里大约有200个联系人)。我注意到这些被获取的联系人都是我很久以前添加的老联系人,而新添加的联系人似乎没有显示出来。

OAuth2Token

token = gdata.gauth.OAuth2Token(client_id=CLIENT_ID, client_secret=CLIENT_SECRET, scope=SCOPE, user_agent=USER_AGENT)
redirect_url = token.generate_authorize_url(redirect_uri=REDIRECT_URI)

重定向以进行身份验证

self.redirect(redirect_url)

身份验证、获取联系人并显示

url = atom.http_core.Uri.parse_uri(self.request.uri)
if 'error' in url.query:
  pass
else:
  token.get_access_token(url.query)

  gd_client = gdata.contacts.client.ContactsClient()
  token.authorize(gd_client)
  feed = gd_client.GetContacts()

for i, entry in enumerate(feed.entry):
  self.response.write(entry.name.full_name)

开发者联系人页面上,'运行示例代码'部分提到要使用:

gd_client = gdata.contacts.data.ContactsClient(source='YOUR_APPLICATION_NAME')

但是它一直报错说找不到ContactsClient。最后我在gdata.contacts.client中找到了它。


另外一个问题 - 我已经把USER_AGENT设置为'',那我应该在这里放什么呢?

1 个回答

4

当你没有提供任何查询参数时,联系人信息会返回前25个联系人。你可以通过添加起始索引和最大结果参数来调整这个数量。

https://developers.google.com/google-apps/contacts/v3/reference#Parameters

结果中还会包含一些页面信息,告诉你这一页有多少联系人、这是第几页,以及还有多少页。

撰写回答