与刷新令牌清爽谷歌的访问令牌

问题描述 投票:1回答:1

我怎样才能刷新谷歌的访问令牌与蟒蛇刷新令牌?我有刷新令牌,客户端ID和客户端秘密与我

我已用下面的代码试图用于产生访问令牌(期满之后)

 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"
}

但是,我需要生成访问令牌。

python oauth google-api google-drive-sdk google-oauth
1个回答
0
投票

这些都是它没有工作的三大原因。我不是一个Python开发这样不能测试你的代码遗憾。

发送PARMS作为一个字符串

检查您的PARMS确保它们与&分隔的单个字符串中发送。

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我记得有正在或某些问题一个接一个的人有时

© www.soinside.com 2019 - 2024. All rights reserved.