“errcode“:48001,“errmsg“:“api unauthorized“ 2021年解决方案,100%已解决

6 篇文章 0 订阅
2 篇文章 0 订阅

恭喜你,看到了这篇解决方案,因为网上好多不是过旧,就是拼凑抄的,你可能不知道什么意思。

 

废话不多说,言归正传。

 

遇到这个问题,一般是已经实现了微信相关开发的状态,这个错误报的吧,真的是有的用户是不会报的,但是有的用户会报这个错误,为什么呢?

以下仅对于微信内登录的。其他方式和统一登录,放在后面说。

 

首先,大家都知道怎么去取code吧?也就是微信开发的第一步,你得先取到code,才能往后取值,关键就出在这个取code的过程中了。取code的代码是get到的吧?都理解?其中有个参数是scope=snsapi_base,值是snsapi_base,这意思就是说,在用户不会察觉的情况下 就可以获取用户的用户信息,但是作为用户,有的用户是关注过你的公众号或是之前已经同意过你公众号获取他的user_info,如果是这种状态的开发,你用snsapi_base,没问题的,毕竟用户也无感嘛,但是比如你一个页面想通过页面交互点击你一个按钮活动他的用户信息,如果你用了snsapi_base,微信就给你报这个错误,所以会出现有的用户没问题,有的用户会报错。解决方法比较简单,将snsapi_base 改成snsapi_userinfo就行了,当用户访问你页面的时候让他有感授权点击同意就好了,以后就自动无感了。当然你逻辑性强的话也没问题,可以看用户状态和是否交互过来直接判断也未尝不可,但如果你闲麻烦,建议直接用snsapi_userinfo就行了。

 

你改了之后,发现没效果怎么办?

很简单因为缓存的问题,iPhone的话,过一小会刷新就行了,以后就不会报错,安卓机的话比较麻烦一些。在微信里 输入debugx5.qq.com  然后点击打开。选中最后四个选项,点击右边的清除按钮就行了。

 

统一登录的话,在这里得唠叨一句。你的那个scope 一定要放在请求code的那个应用里,不要放在统一登录那里。

修改如下:

var scope = GWC.urlParams['scope'] || 'snsapi_userinfo'; 改成 var scope = 'snsapi_userinfo';

这样就好了,其他的请求逻辑不用改。

酱紫。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值