首页 > 解决方案 > 未获得新令牌谷歌授权

问题描述

每当我尝试使用 refresh_token 获取新的 access_token 以访问用户电子邮件时,我都会收到错误消息

{
    "error": "invalid_grant",
    "error_description": "Malformed auth code."
}

我尝试使用邮递员点击URL

 code:1/XXXXXXXX 
 client_id:XXXXXXXXX
 client_secret:XXXXXXXXXX
 grant_type:authorization_code
 redirect_uri:http://localhost
 access_type:offline

而不是每次我得到格式错误的身份验证代码时都得到新的 access_token 和 refresh_token

标签: androidgoogle-oauth

解决方案


这是我的情况:

url hash 片段中的授权码是encodeURIComponent,所以如果你通过这个代码来请求访问令牌。它会抛出一个错误:

{ "error": "invalid_grant", "error_description": "Malformed auth code." }

所以我用它decodeURIComponent来解码授权码。

decodeURIComponent('4%2F_QCXwy-PG5Ub_JTiL7ULaCVb6K-Jsv45c7TPqPsG2-sCPYMTseEtqHWcU_ynqWQJB3Vuw5Ad1etoWqNPBaGvGHY')

解码后授权码为:

"4/_QCXwy-PG5Ub_JTiL7ULaCVb6K-Jsv45c7TPqPsG2-sCPYMTseEtqHWcU_ynqWQJB3Vuw5Ad1etoWqNPBaGvGHY"

推荐阅读