错误信息
redirect_uri域名与后台配置不一致,错误代码10003
网上的资料也是各种各样,但是不一定就是符合你的,所以现在将我所知道的所有错误信息和解决方法进行汇总,方便大家排查。
我们用的是测试号测试的,错误的原因很简单是appID不正确造成的!
出错了,别心急,找不到正确的解绝方法后,还是先读下官方文档看看,是不是哪里没注意到,说不定就发现问题所在!
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
错误原因及解决方法
测试号/服务号信息错误
appid和appsecret是否填写错误
可以在前端页面输出一下重定向url,看是后台配置的appid和测试号/公众号中的appid是否一致,如果不一致,需要修改后台中的appid
微信测试号:
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
扫码登陆后,在测试好信息即可获得自己的appID和appsecret
公众号:
登陆后找到开发,页面左菜单栏最下面
开发--基本配置
即可看到公众号的开发信息
授权回调页面域名
授权回调域名是否设置
授权回调域名格式是否正确
授权回调域名项目后台配置的授权域名地址是否和微信公众号/测试号上配置的授权地址一致
1、在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头;
2、授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.qq.com,配置以后此域名下面的页面http://www.qq.com/music.html 、 http://www.qq.com/login.html 都可以进行OAuth2.0鉴权。但http://pay.qq.com 、 http://music.qq.com 、 http://qq.com无法进行OAuth2.0鉴权
3、如果公众号登录授权给了第三方开发者来进行管理,则不必做任何设置,由第三方代替公众号实现网页授权即可
微信测试号:
将测试号的页面下拉到底部的网页服务中,找到网页账号(网页授权获取用户基本信息)点击修改
虽然他说测试号IP也可以,但是海燕呢,你可长点心吧,真正的公众号必须域名,所以老老实实的填写域名地址,且不要添加http://或者https://
直接填写域名(如:wangyangyang.vip)既可以了,具体的请点击连接查看https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
公众号
登录微信公众号-设置-公众号设置-功能设置-网页授权域名
然后根据提示完成操作
(订阅号就别找了,订阅号没有的)
是否关注微信公众号
这个就很怪,有的需要关注,有的不需要,我们测试的时候,我手机微信就不要关注
关于网页授权的两种scope的区别说明
1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)
2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。
3、用户管理类接口中的“获取用户基本信息接口”,是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户OpenID来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。
redirect_url是否设置正确
是否加http协议,完整的回调地址样式(http://www.wangyangyang.vip)
是否使用 urlEncode 对链接进行处理
出错了,不要急,刚要冷静,先要明白微信网页授权的四个步骤,然后从前端到后台慢慢的排查,最后肯定会排查到问题 的,如果你需要获取UnionID那就需要在https://open.weixin.qq.com/绑定公众号