python + appengine + oauth2 + API контактов Google

Так что я действительно в замешательстве. В основном о «правильном» способе иметь веб-приложение, работающее на движке приложения python, которое может общаться с пользователем, чтобы заставить его принять через разрешения oauth2, чтобы мое приложение движка приложения могло читать/писать в свои контакты db. У меня есть что-то вроде этого (основанное на примерах движка приложения на http://code.google.com/p/google-api-python-client/ и, в частности, http://code.google.com/p/google-api-python-client/source/browse/#hg%2Fsamples%2Fappengine )

Я изменил ОБЛАСТЬ ПРИМЕНЕНИЯ, чтобы они были

SCOPES = (
          'https://www.google.com/m8/feeds','https://www.googleapis.com/auth/plus.me'
          )

но проблема в том, что я не хочу бежать

        http = decorator.http()
        user = service.people().get(userId='me').execute(http=http)

но что-то вроде

        http = decorator.http()
        user = service.contacts().get(userId='*').execute(http=http)

Однако, убей меня, я понятия не имею, что поставить после службы .... функции ... и, конечно, я не знаю, как это гуглить ... ну, я не знаю, какой термин я гуглю для .

Я попытался изменить конструктор службы ... но снова не знаю, что в него добавить.

service = build("plus", "v1", http=http)  ### works for g+
contact_service = build("m8","v3",http=http) ### doesn't work for toffee

Я видел это усилие здесь: Получение контактов с помощью gdata.contacts.client и oauth2, но предпочел бы использовать «стандартное решение Google», поскольку они, как правило, поддерживают эти .. (как правило)

Итак, покопавшись, я нашел этот полезный вызов мета-API:

https://www.googleapis.com/discovery/v1/apis/

в котором нет абсолютно никакого упоминания о контактном API. Я должен предположить, что этот метод не подходит?


person Richard Green    schedule 09.12.2012    source источник


Ответы (1)


Текущая версия Contacts API (v3) использует старую библиотеку gdata-python-client, а не новый google-api-python-client . Подробные сведения об использовании OAuth 2.0 с API gdata Python можно найти в этой запись в блоге. Блог вызывает клиентские API Календаря и Документов, но Контакты должны быть очень похожими.

person Jay Lee    schedule 09.12.2012
comment
Я подозревал, что контакты недоступны в версии 3 из-за того, что они отсутствуют в этой ссылке для обнаружения. Тем не менее, разочаровывает (для меня) то, что нет краткой матрицы того, что доступно, как и благодаря тому факту, что я мог (успешно) поместить m8/feeds (примечание: m8 = товарищи, т.е. контакты хо-хо-хо) в переменную SCOPES, которая был принят библиотекой, я думал, что все остальное сработает. Однако оцените подтверждение. Так что теперь я использую какой-то мутантный гибрид библиотек :-( - person Richard Green; 10.12.2012