Кто-нибудь знает какие-либо хорошие полные ресурсы для достижения аутентификации Google с помощью Python? - PullRequest
6 голосов
/ 21 января 2012

Вот что я пытаюсь сделать:

Я хочу иметь возможность закончить "OAuth token dance" и получить токен доступа, чтобы затем я мог использовать его дляподключитесь к googles IMAP api для пользователя.

Вот мои проблемы:

Я чувствую, что перепробовал почти все.Я пытался использовать OAuth-клиенты GDClient, GDataService и Django Social Auth, но до сих пор остаюсь пустым.Я сталкивался со сценариями, в которых google создавал бы URL-адрес авторизации, но маркер исходного запроса возвращается пустым, не давая мне возможности получить токен доступа (что произошло, когда я использовал GDataClient).

Вот что я хотел бы иметь:

Полный ресурс / учебное пособие / пример того, как получить токен доступа от Google, используя OAuth или OAuth2.0.Я почти уверен, что смогу разработать API IMAP самостоятельно.Я использую фреймворк django, но я готов перейти от этого, если есть лучший вариант.

Примечание: Google действительно имеет хорошую информацию в своей документации, но я чувствую, что это такслишком взбунтован в данный момент.Из-за этого я смешал OAuth и OAuth2.0.

Любая помощь очень ценится.Лично я буду считать любого, кто проверил аутентификацию Google, используя OAuth или OAuth2.0, потрясающе, потому что вам нужно было бы, если бы вы использовали документацию, с которой я столкнулся.

Образец

def index(request):

    scopes = ['https://docs.google.com/feeds/','https://www.google.com/calendar/feeds/']  

    client = gdata.docs.client.DocsClient(source='Trinity-EmailManager-v1')
    client.ssl = True
    client.http_client.debug = True

    oauth_callback_url = settings.GOOGLE_CALLBACK_URL
    request_token = client.GetOAuthToken(
        scopes, oauth_callback_url, settings.GOOGLE_CONSUMER_KEY, consumer_secret=settings.GOOGLE_CONSUMER_SECRET)

return HttpResponse(request_token)

1 Ответ

6 голосов
/ 21 января 2012

Я не делал этого в django, но я исправил OpenID с помощью Google исключительно в проекте Pylons. Я просто использовал Python OpenID . Прошло несколько месяцев с тех пор, как я это настроил, но я, кажется, помню, что Документация Google и Документация для пакета OpenID были разумными, чтобы справиться с этим, хотя для преодоления некоторых трудностей потребовалось немало времени. Если я правильно помню, самая большая проблема заключалась в том, чтобы заставить Google возвращать мне нужные данные, а именно при правильной настройке запросов AX.

В модели, которую я использовал, вы настроили запрос аутентификации, представили ссылку пользователю и он перезвонил на вашу страницу. Потребительский объект из пакета OpenID смог взять перенаправление от Google и затем разобрать его очень хорошо.

Не могли бы вы немного подробнее рассказать о том, что происходит? Вы упоминаете, что токен запроса был пустым, и я решил, что возникла проблема с аутентификацией. Вы вообще не получаете ответа?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...