微信公众号基础知识说明
网页授权获取微信用户信息:两种 scope 域
https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope={2}&state=ok#wechat_redirect
snsapi_base:静默授权,直接跳转到授权后的页面,只能用于获取openid
snsapi_userinfo:必须用户同意授权后,可以获取用户基本信息
案例说明
公司有两个公众号分别是公众号1,公众号2,有个业务场景,需要用户在关注公众号1中,输入指定商品积分码后,会给另外一个公众号2发一个现金红包,这里就要在公众号1页面通过snsapi_base方式获取用户在公众号2的网页授权code,调用微信开放api换成openId,这时,用户很可能未关注公众号2(如果用户未关注公众号2,必须采用snsapi_userinfo方式才能获取到用户基本信息),本人就掉进这个坑,在调用获取token后,又调用了获取用户信息,从而导致报错{"errcode":48001,"errmsg":"api unauthorized}。
错误原因分析
由于调用微信第三方插件,对微信公众号基础api了解不深入,其实获取token接口的返回结果就有openId,格式如下:
{
"access_token":"112123123123",
"expires_in":7200,
"refresh_token":"12312312312",
"openid":"oYbGRs8MmU6bESxXcX2Z0rFRivjQ",
"scope":"snsapi_base"
}
希望大家看了我的文档,不要和我掉进相同的坑里。
---------------------
作者:柯之梦
来源:CSDN
原文:https://blog.csdn.net/yin4302008/article/details/85256438
版权声明:本文为博主原创文章,转载请附上博文链接!