微信发送接收消息类型的整理

部分内容来源于微信官方API

一、接收普通消息

1、文本消息

<xml>
 <ToUserName><![CDATA[toUser]]></ToUserName>
 <FromUserName><![CDATA[fromUser]]></FromUserName> 
 <CreateTime>1348831860</CreateTime>
 <MsgType><![CDATA[text]]></MsgType>
 <Content><![CDATA[this is a test]]></Content>
 <MsgId>1234567890123456</MsgId>
 </xml>


XML解释
参数描述
ToUserName开发者微信号
FromUserName发送方帐号(一个OpenID)
CreateTime消息创建时间 (整型)
MsgTypetext
Content文本消息内容
MsgId消息id,64位整型


2、图片消息

<xml>
 <ToUserName><![CDATA[toUser]]></ToUserName>
 <FromUserName><![CDATA[fromUser]]></FromUserName>
 <CreateTime>1348831860</CreateTime>
 <MsgType><![CDATA[image]]></MsgType>
 <PicUrl><![CDATA[this is a url]]></PicUrl>
 <MediaId><![CDATA[media_id]]></MediaId>
 <MsgId>1234567890123456</MsgId>
 </xml>


XML解释



参数描述
ToUserName开发者微信号
FromUserName发送方帐号(一个OpenID)
CreateTime消息创建时间 (整型)
MsgTypeimage
PicUrl图片链接
MediaId图片消息媒体id,可以调用多媒体文件下载接口拉取数据。
MsgId消息id,64位整型

3、语音消息

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1357290913</CreateTime>
<MsgType><![CDATA[voice]]></MsgType>
<MediaId><![CDATA[media_id]]></MediaId>
<Format><![CDATA[Format]]></Format>
<MsgId>1234567890123456</MsgId>
</xml>

XML解释

参数描述
ToUserName开发者微信号
FromUserName发送方帐号(一个OpenID)
CreateTime消息创建时间 (整型)
MsgType语音为voice
MediaId语音消息媒体id,可以调用多媒体文件下载接口拉取数据。
Format语音格式,如amr,speex等
MsgID消息id,64位整型
4、视频消息

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1357290913</CreateTime>
<MsgType><![CDATA[video]]></MsgType>
<MediaId><![CDATA[media_id]]></MediaId>
<ThumbMediaId><![CDATA[thumb_media_id]]></ThumbMediaId>
<MsgId>1234567890123456</MsgId>
</xml>


XML解释

参数描述
ToUserName开发者微信号
FromUserName发送方帐号(一个OpenID)
CreateTime消息创建时间 (整型)
MsgType视频为video
MediaId视频消息媒体id,可以调用多媒体文件下载接口拉取数据。
ThumbMediaId视频消息缩略图的媒体id,可以调用多媒体文件下载接口拉取数据。
MsgId消息id,64位整型

5、地理位置消息

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1351776360</CreateTime>
<MsgType><![CDATA[location]]></MsgType>
<Location_X>23.134521</Location_X>
<Location_Y>113.358803</Location_Y>
<Scale>20</Scale>
<Label><![CDATA[位置信息]]></Label>
<MsgId>1234567890123456</MsgId>
</xml> 


XML解释

参数描述
ToUserName开发者微信号
FromUserName发送方帐号(一个OpenID)
CreateTime消息创建时间 (整型)
MsgTypelocation
Location_X地理位置维度
Location_Y地理位置经度
Scale地图缩放大小
Label地理位置信息
MsgId消息id,64位整型


6、链接消息

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1351776360</CreateTime>
<MsgType><![CDATA[link]]></MsgType>
<Title><![CDATA[公众平台官网链接]]></Title>
<Description><![CDATA[公众平台官网链接]]></Description>
<Url><![CDATA[url]]></Url>
<MsgId>1234567890123456</MsgId>
</xml>

XML解释

参数描述
ToUserName接收方微信号
FromUserName发送方微信号,若为普通用户,则是一个OpenID
CreateTime消息创建时间
MsgType消息类型,link
Title消息标题
Description消息描述
Url消息链接
MsgId消息id,64位整型




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 下面是一个使用Python编写的企业微信API接收消息的示例代码: ```python import json import requests from flask import Flask, request app = Flask(__name__) @app.route('/webhook', methods=['POST']) def webhook(): data = request.get_data() # 解析接收到的消息 msg = json.loads(data) # 获取消息类型 msg_type = msg.get('MsgType') # 处理不同类型消息 if msg_type == 'text': content = msg.get('Content') # 获取消息内容 # 处理消息内容 # ... elif msg_type == 'image': media_id = msg.get('MediaId') # 获取图片的MediaId # 处理图片消息 # ... # 其他消息类型的处理 return 'success' if __name__ == '__main__': app.run() ``` 上述代码使用了Flask框架搭建了一个用于接收企业微信消息的webhook接口。当接收到企业微信消息时,会触发`/webhook`路由的POST请求。 代码中的`webhook`函数会获取POST请求中的消息数据,并将其转换为JSON格式。然后根据消息类型进行处理,比如如果是文本消息,可以通过`msg.get('Content')`获取消息内容进行相应处理;如果是图片消息,可以通过`msg.get('MediaId')`获取图片的MediaId。 最后,处理完消息后,返回"success"表示消息接收成功。 ### 回答2: 企业微信是一种企业级通信工具,它提供了API接口,可以通过编程语言进行消息接收和处理。以下是一个使用Python编写的企业微信API接收消息的示例代码: ```python import json import requests def receive_message(): url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/receive?key=your_webhook_key" response = requests.get(url) data = json.loads(response.text) message_type = data.get("type") if message_type == "text": message_content = data.get("text").get("content") # 对文本消息进行处理 # ... elif message_type == "image": message_url = data.get("image").get("url") # 对图片消息进行处理 # ... # 其他类型消息同理 return "success" if __name__ == "__main__": receive_message() ``` 在上面的代码中,我们首先需要创建一个Webhook,获取到Webhook的key,并替换代码中的`your_webhook_key`。然后通过`requests`库发送GET请求,从企业微信服务器中获取到最新的消息数据。 接收消息后,我们可以通过判断消息类型,来进行不同类型消息的处理。例如,如果消息类型是文本类型,可以通过`data.get("text").get("content")`获取到消息的文本内容,并进行相应的处理。如果消息类型是图片类型,可以通过`data.get("image").get("url")`获取到图片的URL,并处理图片。 最后,返回一个`"success"`字符串表示消息接收成功。 ### 回答3: 企业微信提供了丰富的API接口,可以使用Python编程语言来接收企业微信消息。以下是一个简单的Python代码示例: ```python import requests from flask import Flask, request app = Flask(__name__) @app.route('/wechat', methods=['POST']) def receive_message(): data = request.json msg_type = data['msg_type'] sender = data['sender'] content = data['content'] # 处理接收到的消息 # 可以根据消息类型进行不同的处理,如文本消息、图片消息、视频消息等 # 返回响应给企业微信 return 'success' if __name__ == '__main__': app.run() ``` 这段代码使用了Flask框架来构建一个简单的HTTP服务端,监听 '/wechat' 路径的POST请求。当企业微信向该路径发送消息时,代码会从请求中获取到消息内容,并进行处理。处理完毕后,返回一个成功的响应给企业微信。 你可以根据实际需要对接收到的消息进行进一步处理,如解析消息内容、调用其他API接口等。另外,根据企业微信API的文档,也可以根据需要使用其他的Python库来实现接收消息的功能。 注意:为了让以上代码正常工作,你需要安装Flask库和requests库,并将其中的一些参数(如路由、消息处理逻辑、API调用等)根据实际情况进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值