微信网页授权开发时,经常会碰到400163,40029错误,
先看一下这两种错误的描述:
400163:
code已经被使用(注意是被使用,说明能获取到正确的code)
"errcode":40163,"errmsg":"code been used
40029:
code无效
"errcode":40029,"errmsg":"invalid code
从错误信息中可得知,40029在code请求用户信息阶段出错,40163在能正确使用code后再使用阶段出错。
一般出现40029错误,多半是调用请求用户信息接口出错,请仔细检查appid,appsecret有没有填错,调用接口是否采用https,接口url有没有写错等等错误
而40163则出现在获取到code后,code被使用了多次,请仔细检查1.code参数和回调方法是否是static;2.url.replace(“CODE”,code)一定要覆盖!!!一定要写成url=url.replace(“CODE”,code),如果不覆盖,第二次url中CODE一直为首次替换的code,就不会被替换,所以会报code has been used!!!
总结:很多时候先检查自己的代码,有很多细小的问题可能就导致了巨大的bug…
写代码还是要规范啊…