Java微信获取用户资料报错48001解决办法
作者:dingcho
这篇文章主要介绍了Java微信获取用户资料报错48001的解决办法,这个问题大家在工作可能经常会遇到,文中通过示例代码将解决的办法介绍的非常详细,需要的朋友可以参考下
微信登录功能,己关注该公众的微信,可以正常通过,没有关注公众号的微信,就会报这个错误
"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: Ftu8IA0999s106 ]"
遇到问题,我们如何解决呢
// 使用这段代码,在获取用户资料时就会报上述错误 // data.SetValue("scope", "snsapi_base"); // 正确应该是使用这段代码 data.SetValue("scope", "snsapi_userinfo"); // 这个API使用的方式又不一样,在使用时需要特别注意 https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN // 该项目中使用的是下面的这个API https://api.weixin.qq.com/sns/userinfo?access_token=$ACCESS_TOKEN&openid=$OPENID&lang=zh_CN
1.https://api.weixin.qq.com/cgi-bin/user/info
接口类型
微信公众平台接口(公众号 / 小程序后台接口),需通过微信公众平台后台认证的服务器调用。
作用
获取微信公众号用户的基本信息(包括头像、昵称、性别、地区、关注状态等)。
- 适用场景:
- 公众号开发者获取关注用户的信息,用于用户管理、数据分析等。
- 需要用户已关注公众号,或通过网页授权(OAuth 2.0)获取到用户的
openid
后调用。
2.https://api.weixin.qq.com/sns/userinfo
接口类型
微信开放平台接口(OAuth 2.0 授权回调接口),需通过前端网页授权或移动端 SDK 授权后调用。
作用
获取微信用户的个人信息(比公众号接口更详细,包括 UnionID、昵称、头像等),适用于第三方应用(如网站、APP)通过微信授权登录的场景。
- 适用场景:
- 第三方应用使用微信登录功能,需获取用户公开信息(需用户主动授权)。
- 需先通过 网页授权流程 获取
access_token
(开放平台access_token
,非公众号access_token
)和openid
。
核心区别对比
维度 | cgi-bin/user/info | sns/userinfo |
---|---|---|
所属平台 | 微信公众平台(公众号 / 小程序) | 微信开放平台(第三方应用授权) |
调用方式 | 服务器端接口(需公众号后台权限) | 前端授权后服务器端调用(需用户授权) |
用户状态 | 需关注公众号(或通过公众号网页授权) | 无需关注,需用户主动授权(如微信登录) |
返回信息 | 公众号用户信息(部分字段受限于关注状态) | 开放平台用户信息(含 UnionID,信息更完整) |
access_token 类型 | 公众号 access_token (全局票据) | 授权 access_token (用户级票据) |
典型场景 | 公众号用户管理、消息推送 | 第三方应用微信登录、用户信息同步 |
总结
到此这篇关于Java微信获取用户资料报错48001解决办法的文章就介绍到这了,更多相关Java微信获取用户资料报错48001内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!