微信开放平台·微信公众号接口调用报错【“errcode“:48001“errmsg“:“api unauthorized...“】

在这里插入图片描述

问题描述

使用场景

  • 复现场景:
    微信开放平台·微信公众号链接:微信开发平台

    1. 按照文档说明通过 code 获取 access_token
    2. 检验授权凭证(access_token)是否有效
    3. 获取用户个人信息(此处报错)
  • 在调用用户个人信息时,报错【“errcode”:48001"errmsg":“api unauthorized…”】

  • 以上步骤页面关键字搜索可找到接口路径
    在这里插入图片描述

解决方案

  • 根据接口返回的说明我们大概能知道是接口访问权限出了问题,但是还是有些一头雾水不知从哪下手,网友的力量还是挺大的,经过几篇文章可得知,其实是用户授权这一步接口出了问题。
    授权获取code接口:https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope={2}&state=ok#wechat_redirect

  • 按照微信的OAuth2流程中,先用户授权获取code才能得到access_token,在以上我们的场景下并没有去通知用户进行授权,获取code的时候有一个scope的字段入参,字段有两个值类型snsapi_base和snsapi_userinfo

  • 区别:
    【snsapi_base】:不需要用户点同意,直接跳转到授权后的页面,只能用于获取openid,不能获取用户基本信息
    【snsapi_userinfo】:会征求用户同意,授权后,可以获取用户基本信息

  • 所以我们在获取code的是时候是用snsapi_base换来的code,在调用获取用户信息接口时是不被允许的,所以使用snsapi_userinfo类型入参换取的code,接下来获取access_token就可以访问用户信息接口了。

就先说到这 \color{#008B8B}{ 就先说到这} 就先说到这
在下 A p o l l o \color{#008B8B}{在下Apollo} 在下Apollo
一个爱分享 J a v a 、生活的小人物, \color{#008B8B}{一个爱分享Java、生活的小人物,} 一个爱分享Java、生活的小人物,
咱们来日方长,有缘江湖再见,告辞! \color{#008B8B}{咱们来日方长,有缘江湖再见,告辞!} 咱们来日方长,有缘江湖再见,告辞!

在这里插入图片描述

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值