Java微信获取用户资料报错48001解决办法

 更新时间:2025年09月10日 10:00:51   作者: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/infosns/userinfo
所属平台微信公众平台(公众号 / 小程序)微信开放平台(第三方应用授权)
调用方式服务器端接口(需公众号后台权限)前端授权后服务器端调用(需用户授权)
用户状态需关注公众号(或通过公众号网页授权)无需关注,需用户主动授权(如微信登录)
返回信息公众号用户信息(部分字段受限于关注状态)开放平台用户信息(含 UnionID,信息更完整)
access_token 类型公众号 access_token(全局票据)授权 access_token(用户级票据)
典型场景公众号用户管理、消息推送第三方应用微信登录、用户信息同步

总结 

到此这篇关于Java微信获取用户资料报错48001解决办法的文章就介绍到这了,更多相关Java微信获取用户资料报错48001内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在Android系统中解析XML文件的方法

    在Android系统中解析XML文件的方法

    这篇文章主要介绍了在Android系统中解析XML文件的方法,利用Java写成的XmlPullParser解析器,需要的朋友可以参考下
    2015-07-07
  • SpringBoot3.x整合swagger的实现示例

    SpringBoot3.x整合swagger的实现示例

    本文主要介绍了SpringBoot3.x整合swagger的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-08-08
  • SpringBoot3+SpringSecurity6前后端分离的项目实践

    SpringBoot3+SpringSecurity6前后端分离的项目实践

    SpringSecurity6 的用法和以前版本的有较大差别,本文主要介绍了SpringBoot3+SpringSecurity6前后端分离的项目实践,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • Spring Boot下的Job定时任务

    Spring Boot下的Job定时任务

    编写Job定时执行任务十分有用,能解决很多问题,这次实习的项目里做了一下系统定时更新三方系统订单状态的功能,这里用到了Spring的定时任务使用的非常方便,下面总结一下如何使用,感兴趣的朋友参考下吧
    2017-05-05
  • java实现Linux(centos) 中docker容器下命令交互的代码(配置向导)

    java实现Linux(centos) 中docker容器下命令交互的代码(配置向导)

    小编在开发项目时遇到个需求,因为系统部署每次都要多台机器拆分部署,很麻烦,怎么配置比较方便呢,今天小编给大家介绍java实现Linux(centos) 中docker容器下命令交互的代码(配置向导),感兴趣的朋友一起看看吧
    2021-05-05
  • Java解析pdf格式发票的代码实现

    Java解析pdf格式发票的代码实现

    为了减少用户工作量及误操作的可能性,需要实现用户上传PDF格式的发票,系统通过解析PDF文件获取发票内容,并直接将其写入表单,以下文章记录了功能实现的代码,需要的朋友可以参考下
    2024-08-08
  • Java中的Map集合根据key值排序的实现

    Java中的Map集合根据key值排序的实现

    本文主要介绍了Java中的Map集合如何根据key值排序,包含使用TreeMap和使用lambda表达式和Stream流两种方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • ElasticSearch不停机重建索引延伸思考及优化详解

    ElasticSearch不停机重建索引延伸思考及优化详解

    这篇文章主要为大家介绍了ElasticSearch不停机重建索引延伸思考及优化详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • JDK8中Optional类巧用之判空操作

    JDK8中Optional类巧用之判空操作

    善用Optional可以使我们代码中很多繁琐、丑陋的设计变得十分优雅,这篇文章主要给大家介绍了JDK8中Optional类巧用之判空的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • J2SE基础之在Eclipse中运行hello world

    J2SE基础之在Eclipse中运行hello world

    本文的内容非常的简单,跟随世界潮流,第一个Java程序输出“Hell World!”。希望大家能够喜欢
    2016-05-05

最新评论