我正在尝试使用 Python 客户端库以编程方式访问我自己的个人 Google 帐户中的联系人列表
这是一个无需用户输入即可在服务器上运行的脚本,因此我将其设置为使用我设置的服务帐户中的凭据。我的 Google API 控制台设置如下所示。
我正在使用以下基本脚本,从 API 文档中提供的示例中提取 -
import json
from httplib2 import Http
from oauth2client.service_account import ServiceAccountCredentials
from apiclient.discovery import build
# Only need read-only access
scopes = ['https://www.googleapis.com/auth/contacts.readonly']
# JSON file downloaded from Google API Console when creating the service account
credentials = ServiceAccountCredentials.from_json_keyfile_name(
'keep-in-touch-5d3ebc885d4c.json', scopes)
# Build the API Service
service = build('people', 'v1', credentials=credentials)
# Query for the results
results = service.people().connections().list(resourceName='people/me').execute()
# The result set is a dictionary and should contain the key 'connections'
connections = results.get('connections', [])
print connections #=> [] - empty!
当我点击 API 时,它会返回一个没有任何“连接”键的结果集。具体来说,它返回 -
>>> results
{u'nextSyncToken': u'CNP66PXjKhIBMRj-EioECAAQAQ'}
是否存在与我的设置或代码有关的错误?有没有办法查看响应 HTTP 状态代码或获取有关它正在尝试做什么的更多详细信息?
谢谢!
旁注:当我尝试使用“试试看!” API 文档中的功能,它正确返回我的联系人。虽然我怀疑它使用客户端库,而是依赖于通过 OAuth 的用户授权