Использование 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'}