我无法更换Google授权码以进行访问和刷新令牌 .
使用nodejs googleapis客户端库,我可以生成Auth URL并通过调用URL成功获取身份验证代码 . 当我尝试在我的服务器上交换此身份验证代码时,问题就出现了 .
我正在使用以下参数对'https://www.googleapis.com/oauth2/v3/token'进行POST调用:
tokenData = {
code: [code from client],
client_id: [client ID used to get the auth code client-side],
client_secret: [client secret associated with the ClientID],
grant_type: 'authorization_code',
redirect_uri: 'postmessage'
};
拨打电话后,我只收到消息:
{error=unauthorized_client, error_description=Unauthorized}
我已经三次检查客户端使用的ClientID来获取auth代码与服务器上的代码匹配,并且客户端的url已添加到Google控制台上的授权javascript源 .
我已经做了大量的谷歌搜索试图找到一个解决方案,但似乎很少有文件说明什么是“unauthorized_client”错误 . 任何帮助深表感谢 .
1 回答
经过大量研究,我能够找到解决问题的方法 .
如this document中所述,特别是D部分:
在调用中提供的redirect_uri获取auth代码 must 匹配发送到交换的redirect_uri . 希望这有助于某人 .