Я пытаюсь программно получить доступ к списку контактов в своей личной учетной записи Google с помощью клиентской библиотеки Python
Это script, который будет запускаться на сервере без ввода пользователя, поэтому я настроил его для использования учетных данных из установленной учетной записи службы. Моя настройка консоли Google API выглядит так.
Я использую следующий базовый script, извлеченный из примеров, представленных в документах 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