微信公众号开发:Java后台如何处理公众号关注和取关事件
实际需求
当我们关注某些微信公众号的时候,有的公众号会给我们回复一条文本信息。本节内容,我们就来实现如何在用户关注公众号后,由公众号给用户回复一条文本信息。同样在用户取消关注时,也可以给用户发送一条信息。
开发文档
我们是基于微信的第三方平台来做二次开发,开发的依据必须是官方的API也就是开发文档。所以,我们要先查询开发文档来找到关注和取关事件说明。请自行访问微信开发文档之关注和取关事件,如图:
由此可知,我们的公众号服务接收到微信服务器回传的xml信息,从中获取MsgType和Event的值,可以区分出用户的关注和取消关注的行为,对不同的行为程序可以做出不同的响应。
编码实现
1、引入相关jar包:dom4j-1.6.1.jar、servlet-api-2.5.jar、xstream-1.3.1.jar用来处理xml文件。
2、根据开发文档中的xml内容,创建消息对象基础类BaseMessage:
3、创建文本消息类TextMessage继承消息基础类:
4、创建处理xml的工具类XmlUtil:
5、创建消息处理类MessageUtil:
6、在WeixinServlet类中新增doPost方法,用来响应微信用户发来的操作请求:
7、代码结构图:
本节小结
通过以上操作,我们在新增加一个功能的时候,首先要查看官方开发文档,依据其xml交互格式来封装自己的类和方法,在此基础上增加业务逻辑来实现符合自己的需求实现。
至此通过以上步骤,我们就完成了微信公众号的关注和取消关注的响应事件。
微信公众号开发:Java后台如何处理公众号关注和取关事件相关推荐
- 微信公众号开发-Java版学习笔记
微信公众号开发整体不难,主要是熟悉微信公众号常用的一些接口文档,然后会一门后端语言(比如java)即可. 罗召勇老师教程:微信公众号开发-Java版(蓝桥罗召勇) 微信公众号文档:微信公众号官方文档 ...
- 微信公众号开发——Java
微信公众号开发--Java 步骤一:需要先进入公众号平台进行JS接口安全域名的设置. 步骤二:引入微信jssdk.js文件 生成JS-SDK权限验证签名 步骤三:通过config接口注入权限验证配置 ...
- 微信公众号开发-java版 腾讯课堂(开发接入)
微信公众号开发-java版 腾讯课堂 微信测试号申请地址: 微信二维码直接扫描登录 1.新建web项目 2.内网穿透映射公网ip (免费隧道需要支付宝实名认证) 3.微信接入验证签名 TOKEN自己 ...
- 【微信公众号开发】四、公众号按钮设置及自己的微信按钮编辑器
文章详情:[微信公众号开发]四.公众号按钮设置及自己的微信按钮编辑器 链接:https://www.microanswer.cn/blog/14
- 微信公众号测试账号申请,后台获取公众号关注取关事件,获取用户发送消息
目录 1.访问微信公众号平台 2.扫码登录 3.登录后进行接口信息配置 4.完成以上配置和代码,将代码部署到服务器上,后台就可以接收到公众号的关注.取关.用户发送的消息等等事件拉! 1.访问微信公众号 ...
- PHP7.0微信公众平台开发4: 实例一:接收普通消息和接收事件推送
PHP7.0微信公众平台开发4: 实例一:接收普通消息和接收事件推送 1. API接口的声明 2. PHP脚本代码 3. 运行结果 由于消息类型有多钟,本文中,"接收普通消息"我以 ...
- 微信小程序及Java后台测试登录
微信小程序及Java后台测试登录 文章目录 微信小程序及Java后台测试登录 一.使用的工具以及开发环境 二.微信端登录代码. 第一种方式,使用wx.getUserInfo直接获取微信头像,昵称. 第 ...
- 微信小程序与Java后台的通信
一.写在前面 最近接触了小程序的开发,后端选择Java,因为小程序的代码运行在腾讯的服务器上,而我们自己编写的Java代码运行在我们自己部署的服务器上,所以一开始不是很明白小程序如何与后台进行通信的, ...
- Java小程序post如何传参,微信小程序向Java后台传输参数的方法实现
微信小程序向Java后台传输参数的方法实现 首先,微信小程序我使用的是微信web开发者工具 想要向后台传输数据,需要在js中写 在微信小程序的官方文档中可以看到一个api叫wx.request它的作用 ...
- 《微信小程序》微信小程序用java后台连接数据库进行操作。
微信小程序与Java后台的通信 一.写在前面 最近接触了小程序的开发,后端选择Java,因为小程序的代码运行在腾讯的服务器上,而我们自己编写的Java代码运行在我们自己部署的服务器上,所以一开始不是很 ...
最新文章
- Python基础11-函数式编程与内置函数
- ==与equals的区别(四个例子简单易懂)附jvm简图
- python太难_传说中Python最难理解的点,看这完篇就够了
- Crontab命令--Linux
- 如何理解 Linux 中的 load averages
- I must be strong and carry on
- 实验一缓冲区溢出漏洞实验
- 机器学习经典损失函数复习:交叉熵(Cross Entropy)和KL散度
- 该学学数据结构了,不会数据结构真是寸步难行啊。。。。。
- 深度学习系列讲座:谷歌翻译核心技术 Seq2Seq
- 地理坐标系转换工具,支持WGS84/GCJ02/BD09等常用坐标系互转
- 2pin接口耳机_耳机插头接线示意图
- python tkinter输入框_自制tkinter输入框Inputbox类
- 采用RP2040 MCU的树莓派Pico迷你开发板介绍
- Try tracing
- C陷阱篇之char的默认符号
- H265跟H264编码效率的一个比较
- 小程序流量主广告赚钱
- coco数据集大小分类_VOC、COCO数据集类别
- 方程组通解的参数向量形式、基本变量和自由变量
热门文章
- leetcode_Remove Duplicates from Sorted Array
- 移动应用实战(移动OA)之四_会议室管理之一
- NGS测序数据和Microarray芯片数据在基因表达中的应用
- ios7 未能连接到服务器,完美解决iTunes 未能连接到此 iPhone。发生未知错误(0xe8000003)和0xe8000084...
- UMLChina建模竞赛第3赛季第7轮:假烟假酒假朋友,假情假意假温柔
- blender动作_Blender实现小人行走
- 近期java面试总结
- 000webhost免费申请
- 线性代数中自由变量为什么取0和1?
- phython入门基础