微信开发实战(5)—粉丝关注开发者公众号时,自动回复消息
来源:互联网 发布:vivo手机怎么开4g网络 编辑:程序博客网 时间:2024/05/01 22:28
本篇文章对应源码下载:
javaweixin-v1.1
链接:http://pan.baidu.com/s/1pLk1oiZ
密码:7uba
上篇文章主要介绍了URL、Token认证,以及使用免费的新浪SAE服务器搭建公众号的web应用。相信按照文章讲解,开发者们已经成功地完成了开发者公众号的配置。
上篇文章提到,URL还有一个作用:认证通过之后,URL就作为开发者服务器与微信服务器之间互动通信的桥梁。本篇文章就来实现此功能:关注开发者号时,自动回复文本消息。
一、URL的POST方法
如果你看了WxApiController.java 这个类源码,你会发现在URL、Token认证的的时候,http请求的method用的是GET。
那么微信服务器和开发者服务器也用此URL进行通信,会不会与Token认证冲突呢?显然是不会的,因为消息互动通信http请求用的是POST方法:
(详见源码)
二、接收事件推送接口
粉丝关注公众号时,触发的是订阅事件,接口文档如下:
http://mp.weixin.qq.com/wiki/7/9f89d962eba4c5924ed95b513ba69d9b.html
细节不再赘述,参考文档即可。
注意:
源码中将ToUserName、FromUserName等参数进行了包装;
发送时的ToUserName是回复时的FromUserName,
发送时的FromUserName是回复时的ToUserName;
三、消息互动原理
在“开发者公众号的交互原理 ”这篇文章中讲解过,此处不再细讲,如下图:
很显然的,当前公众号是开发者号,会把订阅事件消息包装成XML数据(第4、5步),转发给开发者服务器。开发者服务器针对消息进行业务处理(源码中回复一条文字),转换为XML回复给微信平台服务器。
四、V1.1—源码结构介绍
在上篇源码(V1.0)的基础上,V1.1添加了api包。主要作用是处理微信服务器发送来的消息,将消息转换为MsgRequest。
再将回复消息转换为MsgResponse,和对应的XML数据,返回给微信平台。也就是上一步流程图中流转过程。详细请参考源码。
其中,MsgHandler.java中设置自动回复内容:
五、新浪SAE发布,并关注测试号
如上篇文章一样,登录sae,上传war包部署:
5.1,进入菜单“应用 》代码管理”,上传war包
上传成功,访问应用首页看是否正常(如前一篇)。
5.2,关注测试号,查看回复消息
就是代码中的设置的内容,成功了!!
程序员实战技能,扫一扫学习
- 微信开发实战(5)—粉丝关注开发者公众号时,自动回复消息
- 微信开发实战(5)—粉丝关注开发者公众号时,自动回复消息
- 微信开发实战(5)—粉丝关注开发者公众号时,自动回复消息
- 微信公众号首次关注自动回复图文消息
- 微信公众号开发——关注公众号自动回复
- C#开发微信公众号之消息自动回复
- 微信公众号开发之文本消息自动回复
- 微信公众号开发--Emoji表情(可用于关注自动回复等)
- 微信公众号开发--关注后自动回复(Java记录篇)
- 【微信开发系列】1. python开发微信公众号消息回复开发者模式
- 微信公众平台开发模式,成为开发者,实现自动回复和用户的关注事件的监听
- 微信公众号关注一次回复多条消息java开发
- 微信公众号开发自动回复
- 6.图文回复(微信公众号开发实战)
- 【微信公众号开发】自我学习第二章:关注事件触发的自动回复
- 微信公众号开发教程[010]-消息管理-获取公众号的自动回复规则
- 微信公众号相应消息 ,自动回复消息
- C# asp.net 搭建微信公众平台(可实现关注消息与消息自动回复)
- 微信小程序-问题:不在以下合法域名列表中
- Struts2.5.X搭建环境
- C#类库的使用问题
- js消息警告框插件
- POJ 2377 - Bad Cowtractors(最大生成树)
- 微信开发实战(5)—粉丝关注开发者公众号时,自动回复消息
- Eclipse启动时出现 - Failed to create the java virtual machine导致不能启动的解决
- ubuntu下python2.7 安装模块ascii不能解码错误解决方案
- Android Studio 自定义生成几种分辨率的图片
- 线程的同步、互斥机制
- 杭电OJ2037
- Javascript获取select下拉框选中的的值
- 论文解读-<Unsupervised Domain Adaptation with Residual Transfer Networks>
- 【python+protobuf】在python中使用protocol buffer