微信公众号获取用户信息有两种方式,一种需要网页授权(服务号);一种通过订阅号获取,这边订阅号有个坑,就是获取openid,这里需要用户主动触发才能获取,及用户关注或者主动发送消息才能获取到
本次用的是微信测试号,及花生壳进行的内网穿透映射
服务器验证token
后台:
通过serverlet进行映射
调用WeixinServlet的doget方法
CheckSignatureUtil的token值
公众号服务器配置
url: http://xxxxx.xxxxx.vip/weixinService/weixin(花生壳内网穿透,http映射80端口)
微信浏览器可解析域名+/weixinService/weixin校验token的接口
Token:服务器配置token与CheckSignatureUtil的token值一致
例如checkit
提交验证是利用WeixinServlet的doget方法进行校验的
服务器配置成功后
当用户关注或发送消息时会触发事件,微信服务器会进行消息推送,调用WeixinServlet的doPost方法,解析xml对象,获取用户的openid
获取用户的基本信息,参照如图
这一部分如果与服务号进行整合的话,应该有获取accessToken的方法了,原来是通过用户页面授权的方法进行获取openid的,现在这里进行整合的话,即要获取到openid如前面所示,带入参数就好了,不需要大改代码
WeixinControll.getUserInfo的方法
代码链接:https://pan.baidu.com/s/1_V2pWezSp1WXuiFDo1NDuw
提取码:wzvw