调用Google Oauth2.0 token接口兑换授权码返回HTTP 404错误如何解决
问题原因
你触发404错误的核心原因是调用方式不符合Google OAuth2 token兑换接口的要求:
- 该接口仅支持
POST请求,不接受GET请求:你将所有参数拼接在URL查询字符串中,默认会以GET方法发起请求,接口不会响应该类请求,直接返回404。 - 参数传递位置错误:兑换access token的所有参数不能放在URL查询串中,必须放在POST请求的请求体内传输。
解决方法
按照以下规则构造请求即可正常获取token:
- 请求方法设置为
POST,请求地址保持https://oauth2.googleapis.com/token,地址后不要拼接任何查询参数 - 请求头添加字段:
Content-Type: application/x-www-form-urlencoded - 将你之前拼在URL后的所有参数放到POST请求体中,示例请求体内容如下:
code=xxxxx& client_id=xxxxx& client_secret=xxxxx& redirect_uri=http://localhost& grant_type=authorization_code
- 额外注意:
redirect_uri参数的值必须和你此前获取authorization code时传入的redirect_uri完全一致,协议、端口、路径都不能有差异,否则会返回授权校验错误。
内容的提问来源于stack exchange,提问作者MiniWave 10
相关产品推荐
相关产品推荐

