您的位置 首页 java

基于JavaEE—微信网页(五)微信消息的接收(连载)

在开发之前,先看一下下面的流程

基于JavaEE—微信网页(五)微信消息的接收(连载)

用户发送消息我们可以理解成:微信app(微信客户端)发送消息。

过程示例:

  1. 微信用户在公众号页面发送一串文本:你好!(如图(1)所示)

2.则我们第三方程序将会接收到由微信服务器发送过来的XML,如图(2)所示

3.根据消息类型,我们按照开法规范回复微信客户端“success”(其他文本消息后续会讲明,详见被动回复用户消息)。

注意:倘若微信5秒钟内没有收到客户端发送回的请求信息,则会认为发送失败,中断请求并再次尝试发送,最多发送三次,微信将不再发送。

基于JavaEE—微信网页(五)微信消息的接收(连载)

图1

基于JavaEE—微信网页(五)微信消息的接收(连载)

图2

——————–以上为微信客户端发送消息的过程————————

微信消息分为两种:

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

·事件消息:在微信用户和公众号产生交互的过程中,用户的某些操作会使得微信服务器通过事件推送的形式通知到开发者在开发者中心处设置的服务器地址,从而开发者可以获取到该信息。其中,某些事件推送在发生后,是允许开发者回复用户的,某些则不允许

个人总结:

·普通消息:当普通微信用户向公众账号发送的消息(可以回复给用户消息)

·事件消息:用户的操作触发微信内部的事件,产生相应的信息(部分事件可以回复用户事件)

普通消息种类

文本消息 text

图片消息 image

语音消息 voice

视频消息 video

小视频消息shortvideo

地理位置消息 location(注意:这里并不是用户所在的地理位置,是用户主动发送的位置)

连接消息 link

什么是事件消息?

例:

当用户点击关注公众号,微信将会推送一个xml至我们第三方程序,格式如下

[html] view plaincopy

1. < xml >

2. < ToUserName >< ![CDATA[接收的公众号] ] ></ ToUserName >

3. < FromUserName >< ![CDATA[发送者的openid] ] ></ FromUserName >

4. < CreateTime > 123456789 </ CreateTime >

5. < MsgType >< ![CDATA[event] ] ></ MsgType >

6. < Event >< ![CDATA[subscribe] ] ></ Event >

7. </ xml >

参数

描述

ToUserName

开发者微信号

FromUserName

发送方帐号(一个OpenID)

CreateTime

消息创建时间 (整型)

MsgType

消息类型,event

Event

事件类型,subscribe(订阅)、unsubscribe(取消订阅)

由于是事件消息,所以MsgType为event(事件消息),订阅事件的事件类型为subscribe

事件消息(Event)的类型

关注/取消关注subscribe/unsubscribe

扫描二维码 SCAN

上报地理位置LOCATION

自定义菜单CLICK

关于Java微信开发,你怎么看?欢迎留言讨论

文章来源:智云一二三科技

文章标题:基于JavaEE—微信网页(五)微信消息的接收(连载)

文章地址:https://www.zhihuclub.com/182501.shtml

关于作者: 智云科技

热门文章

网站地图