Обновление токенов доступа Google с помощью токенов обновления - PullRequest
0 голосов
/ 05 февраля 2019

Как я могу обновить токены доступа в google с помощью токена обновления в python?У меня есть токен обновления, идентификатор клиента и секрет клиента.

Я попытался использовать следующий код для создания токена доступа (после истечения срока действия)

 params = {
            "grant_type": "refresh_token",
            "client_id": client_id,
            "client_secret": client_secret,
            "refresh_token": refresh_token
          }
authorization_url = "https://www.googleapis.com/oauth2/v4/token"

r = requests.post(authorization_url, data=params)
print(r.text)

if r.ok:
       return r.json()['access_token']
else:
       return None

В ответ я получил ошибкувот так:

{
  "error": "invalid_grant",
  "error_description": "Bad Request"
}

Но мне нужно сгенерировать токен доступа.

1 Ответ

0 голосов
/ 05 февраля 2019

Это три главные причины, по которым он не работает.Я не разработчик Python, поэтому не могу проверить ваш код. & .

Post https://accounts.google.com/o/oauth2/token
client_id={ClientId}&client_secret={ClientSecret}&refresh_token=1/ffYmfI0sjR54Ft9oupubLzrJhD1hZS5tWQcyAvNECCA&grant_type=refresh_token

заголовок типа контента

Также я думаю, что вам нужно установить заголовок типа контента на что-то вроде application/x-www-form-urlencoded.

Изменить конечную точку

Если это не сработает

Также попробуйте использовать https://accounts.google.com/o/oauth2/token вместо https://www.googleapis.com/oauth2/v4/token Я помню, что иногда возникают проблемы с одним или другим из них

...