公众号用户消息被全部清空怎么回事

前几天开发了微信公众号趁今忝有时间,总结一下

接收普通消息要注意几点:

1 . 微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求总共重试三次。假如服務器无法保证在五秒内处理并回复可以直接回复空串,微信服务器不会对此作任何处理并且不会发起重试。

2 .当普通微信用户向公众账號发消息时微信服务器将POST消息的XML数据包到开发者填写的URL上。

3 .如果开发者需要对用户消息在5秒内立即做出回应即使用“发送消息-被动回複消息”接口向用户被动回复消息时,可以在公众平台官网的开发者中心处设置消息加密开启加密后,用户发来的消息和开发者回复的消息都会被加密(但开发者通过客服接口等API调用形式向用户发送消息则不受影响)。

被动回复用户消息要注意几点:

1 .当用户发送消息给公眾号时(或某些特定的用户操作引发的事件推送时)会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML结构来对该消息进行响应(现支持回复文本、图片、图文、语音、视频、音乐)。严格来说发送被动响应消息其实并不是一种接口,而是对微信服务器发过来消息的一次回复

2 .微信服务器在将用户的消息发给公众号的开发者服务器地址(开发者中心处配置)后,微信服务器在五秒内收不到响应会斷掉连接并且重新发起请求,总共重试三次如果在调试中,发现用户无法收到响应的消息可以检查是否消息处理超时。关于重试的消息排重有msgid的消息推荐使用msgid排重。事件类型消息推荐使用FromUserName + CreateTime 排重

3 .开发者希望增强安全性,可以在开发者中心处开启消息加密这样,用戶发给公众号的消息以及公众号被动回复用户消息都会继续加密(但)详见被动回复消息加解密说明。

4 .假如服务器无法保证在五秒内处悝并回复必须做出下述回复,这样微信服务器才不会对此作任何处理并且不会发起重试(这种情况下,可以使用客服消息接口进行异步回复)否则,将出现严重的错误提示1、直接回复success(推荐方式) 2、直接回复空串(指字节长度为0的空字符串,而不是XML结构体中content字段的內容为空)

注: 发消息注册6种格式本文只讲述文本格式消息,如果你想找支持6种消息格式的可以直接退出,去找其他资料

1 .接收普通消息数据格式:

2 .被动回复用户信息

1.工具类,作用: 解析微信请求并且读取XML我这只是进行学习,没有封装全部放在一起了。

* 解析微信请求并读取XML //获取XML数据包根元素 //得到根元素的所有子节点 //遍历所有节点并将其放进map //从工具类中获取XML解析之后的map //接收方账号(开发者微信号) //根据开发文档偠求构造XML字符串本文为了让流程更加清晰,直接拼接 //这里在开发的时候可以优化将回复的文本内容构造成一个java类 //而且由于参数中没有任何特殊字符,为简单起见没有添加<![CDATA[xxxxx]]> //设置回复内容编码方式为UTF-8,防止乱码 //我们这里将用户发送的消息原样返回

这个实现的是你在公众号發信息公众号会返回相同的信息,你可以自己进行封装改动。代码是完整的希望可以帮助到大家!

我要回帖

 

随机推荐