Как передать значение заголовка «Авторизация» в OAuth 2.0 с помощью API Google - PullRequest
1 голос
/ 04 февраля 2012

Я пытаюсь получить доступ к API Google с OAuth 1.0 и 2.0, в обоих случаях мне нужно заполнить поле Авторизация в заголовках значением 'OAuth', за которым следует токен доступа.Я попробовал следующий метод, но Google выдает ошибку, говоря, что есть проблема в значениях заголовка авторизации.Я использую Python-Tornado

additional_headers = {
        "Authorization": "OAuth "+GoogleOAuth2Mixin.access_token,
        "Accept-Encoding": None
    }
    h = httputil.HTTPHeaders()
    h.parse_line("Authorization: OAuth "+GoogleOAuth2Mixin.access_token)
    request = httpclient.HTTPRequest(self._USER_INFO_URL+"?access_token="+GoogleOAuth2Mixin.access_token, method="GET", headers=h)
    self.httpclient_instance.fetch(
        request,
        self.async_callback(callback)
    )

Я пытался использовать оба метода, передавая заголовок 'h' и 'Additional_headers', но это не работает.Что такое точный метод?

Ответы [ 2 ]

9 голосов
/ 10 декабря 2013

У меня была такая же проблема.Работает, если в качестве префикса указано «Носитель».

Authorization: Bearer 0b79bab50daca910b000d4f1a2b675d604257e42
0 голосов
/ 30 мая 2012

Это потому, что он использует адрес электронной почты учетной записи в качестве UID и вызывает службу userinfo по умолчанию во время процесса аутентификации, поэтому вам нужно включить «userinfo.email» в список областей, в противном случае поток аутентификации повысится, возникнет исключение и произойдет сбойчтобы вернуть токены.

Если вы используете OAuth 2.0 детская площадка , обязательно отметьте "Userinfo-Email" в разделе Выбрать и авторизуйте API на левой панели вместе с API, который вы хотите использовать.Надеюсь, это поможет.

...