之前我在《Java调用微信登录以及eclipse远程调试》一文中说到了Java程序怎么调用微信登录,不过那篇文章中使用的是手工方式,本文将介绍如何使用第三方SDK(binarywang)进行微信网页授权以及获取微信用户信息。
weixin-java-tools是大神binarywang写的一个全能微信Java开发工具包,支持包括微信支付、开放平台、小程序、企业微信/企业号和公众号等的开发,使用起来十分方便。具体的大家可以去GitHub上搜索binarywang。
1、后台配置: 本人使用的是微信测试号,因此访问,登录你的测试号。然后找到如下配置项:
image.png
点击修改,改成你的域名即可。比如我修改的就是。 2、添加依赖:
3、配置: 本项目是springmvc项目,所以在spring的配置文件中进行如下配置:
若是springboot项目,那就得新建配置类了。配置了之后就可以开始使用了。
4、开始使用:
解释一下这个方法:这个方法需要两个参数, state:就是微信定义的一个参数,用户可以传入自定义的参数,等下会讲解怎么用state传值; url:就是用户微信授权登录后重定向的页面路由。 比如现在访问该方法并传入如下参数: 因为传入的url是,state是,那么在微信中访问上面的链接,就会重定向到,并且会把code以及state携带到重定向后的url中。
解释一下这个方法:这个方法需要搭配第一个授权的方法一起使用,构成如下链接: , 用户通过访问该链接后,在上面这个userInfo方法中就可以通过获取到和,不过这里我们并没有并没有传值,所以获取到也没用。获取到了,就可以获取到,获取到了就可以获取到等信息了。
5、微信扫码: 需求:用户使用微信扫描二维码后,就会跳转到指定的url中,且能获取到扫码用户的信息。 其实这个很好实现,只需要将 这个链接变成二维码即可。
举个栗子
这个就是生成二维码的方法,在前端页面中直接通过标签,src指向这个生成二维码方法的路由即可。注意。state要携带多个参数的话就用上面的方式,先将多个参数拼接成一个字符串content,但是不能直接让,一定要先用方法编码一下。另外在附上缩短网址的工具类:
该方法中可以通过code获取到微信用户相关信息,可以通过state获取到刚才生成自定义的参数,就可以为所欲为了。
上面介绍了weixin-java-tools的少部分用法,这只是冰山一角,更多用法请参考在github上搜索binarywang。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/6953.html