首先明确的说问题是出自你的代码
微信公众号是无需关注也可已进行用户授权访问
官网的说明是:
1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)
2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。接口流程是这样的:具体而言,网页
授权流程分为四步:
1、引导用户进入授权页面同意授权,获取code
2、通过code换取网页授权access_token(与基础支持中的access_token不同)
3、如果需要,开发者可以刷新网页授权access_token,避免过期
4、通过网页授权access_token和openid获取用户基本信息(支持UnionID机制)也就是说授权完后需要调用如下接口才可以获取用户信息:此接口是无需关注即可获取信息的如果网页授权作用域为snsapi_userinfo,则此时开发者可以通过access_token和openid拉取用户信息了。
我是通过授权流程步骤找到自己的代码问题,你可以自己去查看微信网页授权接口的说明和流程。
我的问题主要有两点:
1.
如图
授权完后需要调用如下接口才可以获取用户信息:此接口是无需关注即可获取信息的
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
网页授权作用域为snsapi_userinfo,开发者可以通过access_token和openid拉取用户信息。
2.
我通过code换取网页授权access_token后,使用了全局token导致用户信息获取不到,这里说明一点 通过code换取网页授权access_token与基础支持中的access_token不同,如果你拼错的话是无法获取到用户信息的。
如图