wechat-0022,微信公众号,接收事件推送

demo:https://github.com/wenrongyao/wechat-demo

摘要:在0020中,我们已经可以接收用户发送的文本消息,并回复文本消息了,对于公众号还有另一类交互方式就是事件推送,比如关注,取消关注,扫码等(详见:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140454),这篇帖子以关注事件为例,简要说明一下事件的处理。

1、依据公众号开发者文档,扫码关注事件推送信息为。

可以msgType为event,Event为subscribe即为关注

2、EntryController增加关注事件处理

关于获取微信服务器向我服务器推送数据的解析参考:https://blog.csdn.net/wrongyao/article/details/80229407

try {
            if (StringUtils.isEmpty(msgType)) {
                // 创建加密类
                WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(Constant.WechatAccount.TOKEN, Constant.WechatAccount.ENCODINGAESKEY, Constant.WechatAccount.APPID);
                // 比对msgSignature 用token, timeStamp, nonce加密的参数是否一致,一致证明该接口来自微信,异常则不是来自微信
                result = wxcpt.verifyUrl_WXGZ(msgSignature, Constant.WechatAccount.TOKEN, timeStamp, nonce, echoStr);
            } else {
                if (msgType.equals(Constant.MsgType.TEXT)) {
                    result = msgService.returnText(map);
                } else if (msgType.equals(Constant.MsgType.EVENT)) { //事件处理
                    String event = map.get("Event");
                    if (event.equals(Constant.Event.SUBSCRIBE)) { // 关注公众号
                        result = msgService.returnText(map, message.getSubscribe());
                    }
                }
            }

这边关注以后回复欢迎语,直接接上文回复文本信息。

3、结果

 

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值