48001 | api 功能未授权,请确认公众号已获得该接口,可以在公众平台官网 - 开发者中心页中查看接口权限 |
微信网页开发-网页授权
scope为snsapi_base的坑
以下链接,在配置没问题的前提下,前端是可以获取到code的,但是后端会一直报errcode":48001,"errmsg":"api unauthorized的错误
https://open.weixin.qq.com/connect/oauth2/authorize?appid=appid&redirect_uri=网址&response_type=code&scope=snsapi_userinfo&state=123&connect_redirect=1#wechat_redirect
原因是
snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面),
snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。
所以这里scope改用snsapi_userinfo的方式就好了
不管是微信公众号开发还是小程序开发,都要仔细阅读开发文档,一切皆在文档中