“errcode”:40029,“errmsg”:“invalid code”踩坑

微信:公众号、小程序、服务号
原微信开发文档
添加链接描述
目前接触了公众号的相关事件,有以下几点个人总结:
首先了解功能的流程 微信客户端------腾讯服务器-----web端,大致流程。
1**.微信网页授权**
授权回调域名–是域名比如www.qq.com ,加上https是url。进行OAuth2.0鉴权
2.网页授权的两种scope:
以snsapi_base为scope发起的网页授权,来获取用户的openid,是属于静默授权,用户是无感知的。以snsapi_userinfo为scope发起的网页授权,需要用户手动同意赋权,
关于网页授权access_token和普通access_token的区别
access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新。
关于静默授权的的流程步骤
.用户同意授权,获取code,https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect (appid分测试号和真正的运营好,一定要分开一对一),(REDIRECT_URI是域名建议如果要获取code要进行encodeURL进行转码,然后进行访问。重点强调一定要分开测试的url和appid和正式的一定要区分开)是可以在微信客户端打开访问的。
事例:“errcode”:40029,“errmsg”:“invalid code”踩坑
参数说明:
appid -----------公众号的唯一标识
redirect_url 授权后重定向的回调地址
response_type code,返回类型(code只能被使用一次,5分钟的有效期,如果发现报错,要对比运行前后的code是否一致)可根据返回码确定报错的内容、
scope 授权作用域,静默授权,和用户手动授权
通过code换取网页授权access_token,
关于参数说明
{“access_token”:“ACCESS_TOKEN”,“expires_in”:7200}回调成功
{“errcode”:40013,“errmsg”:“invalid appid”}回调失败返回的错误码
经常会遇到的报错码:
{“errcode”:40029,“errmsg”:“invalid code”}
可能的原因:1.code获取前后不一致,获取到的试用过一次的,code使用过一次的是失效的。2.测试环境和生产环境搞混appid不一致。
微信开发工具
相对而言测试还是很靠谱的,相当于真机测试。
1.下载微信开发者工具https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
2.登录公众号测试“errcode”:40029,“errmsg”:“invalid code”踩坑
进入开发者工具:
“errcode”:40029,“errmsg”:“invalid code”踩坑
进行系列设置:

“errcode”:40029,“errmsg”:“invalid code”踩坑
“errcode”:40029,“errmsg”:“invalid code”踩坑
“errcode”:40029,“errmsg”:“invalid code”踩坑
修改url 可能时间会比较久。
一系列操作完成就可以在微信开发工具进行测试。