时间:2021-05-19
接着上一篇java微信开发API第一步 服务器接入进行学习,下面介绍java微信开发第二步:获取消息和回复消息,具体内容如下
* 本示例根据微信开发文档:http://mp.weixin.qq.com/wiki/home/index.html最新版(4/3/2016 5:34:36 PM )进行开发演示。
* 编辑平台:myeclipse10.7+win32+jdk1.7+tomcat7.0
* 服务器:阿里云 windows server 2008 64bits
* 平台要求:servlet使用注解方式,平台要求:j2ee6.0+、jdk6.0+、tomcat7.0+
* 演示更加注重于api解析。
* 为了便于测试说明,每个测试用例为独立,不依赖于其它方法。对于封装,不多加考虑。
* 演示尽可能按照API要求进行,目的:了解文档使用方式,达到举一反三的效果。
* 知识要求:牢固的java基础、了解http网络通信知识、对于javaweb有足够了解、json解析
* 在每篇文章结束会给出该部分演示源码。在分析完API之后,会以源码包的形式给出所有演示源码。
* 当前时间:4/3/2016 5:32:57 PM ,以该时间为准。
一、文档原文-消息管理(摘要)
文档地址:http://mp.weixin.qq.com/wiki/17/f298879f8fb29ab98b2f2971d42552fd.html
消息管理
接收消息-接收普通消息
接收消息-接收事件推送
发送消息-被动回复消息
发送消息-被动回复时的加解密
发送消息-客服消息
发送消息-群发接口
发送消息-模板消息接口
发送消息-模板消息运营规范
获取公众号自动回复配置
二、文档理解
1、接收消息
文档这样解释:当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上。
理解:微信服务器将用户发送的消息通过Post流的形式返回给req。当我们想要获取用户发送的消息时,可以通过req.getInputStream()获取。当然,我们可以根据文档上关于消息的返回的xml格式,进行必要的解析。
实现:
2、发送消息
文档这样解释:当用户发送消息给公众号时(或某些特定的用户操作引发的事件推送时),会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML结构,来对该消息进行响应(现支持回复文本、图片、图文、语音、视频、音乐)。严格来说,发送被动响应消息其实并不是一种接口,而是对微信服务器发过来消息的一次回复。
理解:用户发送请求,会产生一个POST请求,我们可以通过Respone进行回复消息。但是,回复的内容有严格的格式要求,只有满足格式要求,微信服务器才会进行处理返回给用户。通过查看文档“消息管理”模块,我们可以看到微信中有各种各样的消息,每类消息都有自己特定的格式要求,我们必须按照要求才可以正常的给用户返回特定的信息。我们尝试按照文档的要求格式给用户回复文本信息、图文消息。重点:按照文档要求构造需要的参数。特别注意:参数区分大小写。
1)、实现1-回复普通文本消息:
2)、实现2-回复图文消息:
//实例2,发送图文消息。请查看文档关于“回复图文消息”的xml格式// 第一步:按照回复图文信息构造需要的参数List<Article> articles = new ArrayList<Article>();Article a = new Article();a.setTitle("我是图片标题");a.setUrl("</n> 博客 http://blog.csdn.net/wgyscsf</n> * 编写时期 2016-4-4 下午2:47:08 */public class PicAndTextMsg { private String ToUserName; private String FromUserName; private long CreateTime; private String MsgType; private int ArticleCount; private List<Article> Articles; @Override public String toString() { return "PicAndTextMsg [ToUserName=" + ToUserName + ", FromUserName=" + FromUserName + ", CreateTime=" + CreateTime + ", MsgType=" + MsgType + ", ArticleCount=" + ArticleCount + ", Articles=" + Articles + "]"; } public String getToUserName() { return ToUserName; } public void setToUserName(String toUserName) { ToUserName = toUserName; } public String getFromUserName() { return FromUserName; } public void setFromUserName(String fromUserName) { FromUserName = fromUserName; } public long getCreateTime() { return CreateTime; } public void setCreateTime(long createTime) { CreateTime = createTime; } public String getMsgType() { return MsgType; } public void setMsgType(String msgType) { MsgType = msgType; } public int getArticleCount() { return ArticleCount; } public void setArticleCount(int articleCount) { ArticleCount = articleCount; } public List<Article> getArticles() { return Articles; } public void setArticles(List<Article> articles) { Articles = articles; }}更多精彩内容请点击《Android微信开发教程汇总》,《java微信开发教程汇总》欢迎大家学习阅读。
以上就是本文的全部内容,希望对大家学习开java微信API有所帮助,也希望大家继续关注新内容的更新,不要错过哦!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
微信怎么看共发出、收到多少红包第一步,下载好微信软件,并成功登录个人帐号在线。如图所示:第二步,在微信的消息页面上,找到“我”标志,点击
微信小程序开发post方法与get方法的封装第一步:在utils文件夹下创建httpUtil.js文件第二步:创建函数httpPost方法代码如下:functi
3月22日消息,在“我的银行卡”中增加“今日美食”频道之后,微信将展开整合大众点评的第二步——支持朋友圈餐馆定位。记者了解到,微信日前宣布将在5.2.1版本中加
7月21日晚间消息,京东将于8月8日正式开通手机QQ的一级购物入口,这也是腾讯入股京东后,兑现其“在微信和手Q开通一级入口”承诺的第二步——此前,京东微信的一级
其实只需要解决2个问题第一步,在微信小程序中添加联系在线客服按钮第二步,接入在线客服功能,设置【自动/人工/转人工】回复等一、添加小程序客服按钮①在小程序中添加