微信开发实战(5)—粉丝关注开发者公众号时,自动回复消息

微信开发实战(5)—粉丝关注开发者公众号时,自动回复消息


本篇文章对应源码下载:

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,关注测试号,查看回复消息


就是代码中的设置的内容,成功了!!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值