我正在尝试获取刷新令牌并使用它来颁发访问令牌,但生成访问令牌的请求不起作用。
我调用此 API 来获取刷新令牌:
网址:https://accounts.google.com/o/oauth2/v2/auth(获取)
var params = {'client_id': '{MY_CLIENT_ID}',
'redirect_uri': '{MY_REDIRECT_URI}',
'response_type': 'code',
'scope': 'https://mail.google.com/',
'access_type': 'offline',
'prompt': 'consent'};
此请求正常工作并生成令牌,但是当我尝试获取访问令牌时,请求失败并显示以下错误消息:
{
"error": "invalid_grant",
"error_description": "Bad Request"
}
这是我获取访问令牌的请求:
网址:https://accounts.google.com/o/oauth2/token(POST)
x-www-form-urlencoded BODY: grant_type="refresh_token", client_id={MY_CLIENT_ID}, client_secret={MY_CLIENT_SECRET}, refresh_token={THE TOKEN I JUST GOT}
用刷新令牌交换新的访问令牌看起来像这样。它是一个 HTTP POST 调用,正文的格式是 URL Prams。它不是一个物体。
https://accounts.google.com/o/oauth2/token
client_id={REDACTED}&client_secret={REDACTED}&refresh_token={REDACTED}&grant_type=refresh_token