微信开放平台:Scope 参数错误或没有 Scope 权限
微信开放平台:Scope 参数错误或没有 Scope 权限
背景
我们是微信开放平台服务商,上面托管了几个公众号,我们以服务商的身份,帮他们调起:公众号的客户身份识别,发送模板消息等。之前一直是好的,但是突然有一天,一个公众号的客户说,用户进他们公众号菜单,进不去了。之前没有遇到过这个问题,排查过程整理如下,供参考与备查:
对于没有耐心的同学,我这里先把排查结果告知,不耽误那些被这个问题搞得晕头转向的同学们的时间了:请确认,客户的公众号认证是否到期了。到期了,就会出现这个问题。
名词
1:微信开放平台:https://open.weixin.qq.com/ (我们登陆,并设置相应功能)
2:客户公众号平台:https://mp.weixin.qq.com/ (客户的公众号设置,是否认证过期,在这里看)
参考
1:关于非开放平台,仅是公众号平台出现这个问题,请参考这位同学的文章,感谢他:https://blog.csdn.net/zengdeqing2012/article/details/45672425
问题展示
用户进入商家的页面后,我们会调起auth2.0认证,往微信跳转,但是这时,会提示:
**“Scope 参数错误或没有 Scope 权限”**如下图:
也有可能是空白页面,没有跳转回预期的商家展示页面。
排查过程
1:Scope参数错了?
1:查看下跳转auth2.0的地址,是否错了?代码都没改过,其他的公众号也没有报这个问题,确认了一下auth2.0的url,里面的scope 配置成:snsapi_base,snsapi_userinfo 也都报错。看来不是这个问题
2:权限不够?
1:因为我们是开放平台,所以,用户在自己的公众号里,是可以设置,是否取消托管于我们,而我们在开放平台,是看不到的,不知道哪个公众号是脱离我们,或者改变了托管权限。
这里要说明一下:用户脱离我们,或者改变权限,微信后台是有通知报文到我们的服务后台,但是,我们并没有处理这种消息,也没有设计针对这个脱离,或者改变权限的业务流程。
以上这种情况,我们是无感知的。
我们作为服务端做了如下检查:
1-1:检查或者用户公众号的token临牌是否正常(access token):
因为我们需要定时获取用户access token,且用这个token 代用户公众号发起各种api。
这个token 我们每隔一个半小时获取一次,且存库,(token 的有效期 是2个小时)。
查库发现,可以正常获取,后台一直在按部就班的,勤勤恳恳的按时获取,且都成功了。
那么就意味着,用户的公众号并没有脱离我们的开发平台。
并且,在微信端,查看用户的公众号的信息,服务商列表里,有我们的公司。
1-2:没有脱离我们的平台,那么是客户公众号授权我们平台,时,权限有变化?他自己点掉了几个权限吗?
这个我们就只能进入客户的公众号平台(https://mp.weixin.qq.com/ )里面,进行确认了。
进入公众号平台,需要客户公众号的运营人员扫码进入,我们是无权进入的,于是,等啊等… ZZZZZzzzzz
等客户扫码进入,我就直奔 ,公众号设置-》授权管理。
发现我们的权限都在(网页功能),并没有缺失。
再到:开发-》接口权限:
功能未获得?服务号需要微信认证???
他的公众号,对接的时候,是认证过的,原来现在过期了,就出现这个问题。
哎搞了半天,是这事儿~~~ 300块,通知客户赶紧认了吧。
吃一堑,长一智。
话说回来,微信钱儿来的容易~
结束:
以上就是整个排查过期,希望能帮到正在为此苦苦思索的同学们。
还是这句话,吃一堑,长一智,多观察,多思考,多见识,多总结,所谓:久病成医。
前人遇到的坑,如果能即时分享出来,后面的人也就能少掉到里面了。
我为人人,人人为我,诸公共勉之。
参考,感谢:
[1]: https://blog.csdn.net/zengdeqing2012/article/details/45672425