微信订阅号获取openid,然后获取用户信息

微信公众号获取用户信息有两种方式,一种需要网页授权(服务号);一种通过订阅号获取,这边订阅号有个坑,就是获取openid,这里需要用户主动触发才能获取,及用户关注或者主动发送消息才能获取到

本次用的是微信测试号,及花生壳进行的内网穿透映射

服务器验证token

后台:

通过serverlet进行映射

微信订阅号获取openid,然后获取用户信息_第1张图片

调用WeixinServletdoget方法

微信订阅号获取openid,然后获取用户信息_第2张图片

CheckSignatureUtiltoken

微信订阅号获取openid,然后获取用户信息_第3张图片

公众号服务器配置

微信订阅号获取openid,然后获取用户信息_第4张图片

微信订阅号获取openid,然后获取用户信息_第5张图片

url: http://xxxxx.xxxxx.vip/weixinService/weixin(花生壳内网穿透,http映射80端口)

微信浏览器可解析域名+/weixinService/weixin校验token的接口

Token:服务器配置token与CheckSignatureUtiltoken值一致

例如checkit

提交验证是利用WeixinServlet的doget方法进行校验的

服务器配置成功后

当用户关注或发送消息时会触发事件,微信服务器会进行消息推送,调用WeixinServletdoPost方法,解析xml对象,获取用户的openid

微信订阅号获取openid,然后获取用户信息_第6张图片

获取用户的基本信息,参照如图

这一部分如果与服务号进行整合的话,应该有获取accessToken的方法了,原来是通过用户页面授权的方法进行获取openid的,现在这里进行整合的话,即要获取到openid如前面所示,带入参数就好了,不需要大改代码

WeixinControll.getUserInfo的方法

微信订阅号获取openid,然后获取用户信息_第7张图片

微信订阅号获取openid,然后获取用户信息_第8张图片

代码链接:https://pan.baidu.com/s/1_V2pWezSp1WXuiFDo1NDuw 
提取码:wzvw 

你可能感兴趣的:(微信开发,java)