Google API invalid_grant / bad_request - PullRequest
       5

Google API invalid_grant / bad_request

1 голос
/ 07 октября 2019

Использование python 3.6, запросы == 2.22.0

Попытка использовать Google API, в частности поток приложений для мобильных и настольных ПК

Я могу создатькод авторизации с использованием этого URL:

url = (
    'https://accounts.google.com/o/oauth2/v2/auth?'
    'scope=email%20profile&'
    'response_type=code&'
    'redirect_uri={redirect_uri}&'
    'client_id={client_id}&'
    'access_type=offline'.format(
        redirect_uri=redirect_uri,
        client_id=client_id,
    )
)

Я использую redirect_uri (на данный момент) просто https://google.com, и он зарегистрирован в сгенерированном мной приложении разработчика, в разделе Authorized redirect URIs and в разделе Authorized domains на странице / вкладке OAuth consent settings.

Как только я вставляю созданный URL в браузер - я получаю код, который могу извлечь и использовать для следующего вызова, которыйв настоящее время происходит сбой.

Я удостоверился, что заменил "%2F" на "/" (при использовании Firefox).

Далее я генерирую данные и выполняю вызов для замены кода натокены:

data = {
    'client_id': client_id,
    'client_secret': client_secret,
    'grant_type': 'authorization_code',
    'code': code,
    'redirect_uri': redirect_uri,
}
url = 'https://oauth2.googleapis.com/token'

response = requests.post(
    url,
    data=data,
    headers={
        'Content-Type': 'application/x-www-form-urlencoded',
    },

print(response)
print(response.json())

Выход:

<Response [400]>
{'error': 'invalid_grant', 'error_description': 'Bad Request'}
...