SpringBoot中获取微信用户信息从未如此简单( 二 )


根据第二步获取的 access_token 和 opendId 获取微信用户的信息 。调用如下图所示微信 API , 将获取的 access_token 和 opendId 替换如下图中红色框位置内容 , 其他不用做任何改动 。返回的 json 信息就是该公众号的用户信息 。

SpringBoot中获取微信用户信息从未如此简单

文章插图
 
讲完操作流程 , 接下来就是代码实现 。具体获取微信用户信息 Controller 内容如下:
SpringBoot中获取微信用户信息从未如此简单

文章插图
 

SpringBoot中获取微信用户信息从未如此简单

文章插图
 
application.properties 配置内容如下:
SpringBoot中获取微信用户信息从未如此简单

文章插图
 
微信核心处理都在 WeiXinService中 , 微信接口调用时通过 RestTemplate来实现的 。
拼接引导用户进行微信授权地址代码如下:
SpringBoot中获取微信用户信息从未如此简单

文章插图
 
根据 code 获取网页授权 access_token 和 openid 代码如下:
SpringBoot中获取微信用户信息从未如此简单

文章插图
 
【SpringBoot中获取微信用户信息从未如此简单】通过 access_token 和 openid 获取微信用户信息 代码如下:
SpringBoot中获取微信用户信息从未如此简单

文章插图
 
测试
下载微信web开发者工具完成后 , 根据傻瓜式安装即可 。安装完成后打开web开发者工具 , 如下图所示选择公众号网页 。
SpringBoot中获取微信用户信息从未如此简单

文章插图
 
输入 http:127.0.1:8090/sbe2/weixin/getWeiXinUserInfo , 就会看到该测试公众号的用户信息 。
SpringBoot中获取微信用户信息从未如此简单

文章插图
 
一般情况下我们通过接口测试号配置成测试环境域名或 IP , 测试通过后就可以在服务号上配置网页授权域名 , 顺便在把我们项目配置的 appid 换成服务号的 appid 即可 。具体操作如下:
SpringBoot中获取微信用户信息从未如此简单

文章插图
 

SpringBoot中获取微信用户信息从未如此简单

文章插图
 
小结
获取微信公众号用户信息步骤就是:第一步拼接引导用户授权的地址然后根据该地址重定向到微信服务 , 第二步获取授权code , 根据 code 获取 access_token 和 OpenId , 第三步根据 access_token 和 OpenId 获取微信用户信息 。
我这里介绍最简三步 , 正常来讲还需要验证access_token 是否有效 , 这一步也可以通过缓存access_token到Reid中并设置过期时间 , 当其失效后刷新access_token 。
在这里再三强调一下 , 微信提供操作文档一定要多看几篇 , 因为很多细节都在文档中进行了说明 。当你把微信提供操作文档看透 , 你就会觉得其实就是个API 调用而已 。
代码示例
具体代码示例请查看我的GitHub 仓库 springbootexamples 中的 spring-boot-2.x-weixin 查看 。
GitHub:https://github.com/zhuoqianmingyue/springbootexamples
原文链接:https://www.cnblogs.com/jerry126/p/11531308.html?utm_source=tuicool&utm_medium=referral




推荐阅读