目录
3. 使用.net 操作 微信公众平台 —— 接收并回复用户消息
3.1 使用.net 操作 微信公众平台 —— 接收用户操作 —— 详细解析
3.1.1 使用.net 操作 微信公众平台 —— 接收用户操作 —— 关注/取消关注 公众号
3.1.2 使用.net 操作 微信公众平台 —— 接收用户操作 —— 接收用户发送的消息
3.2 使用.net 操作 微信公众平台 —— 回复用户消息
3.2.1 使用.net 操作 微信公众平台 —— 回复用户消息 —— 回复文本消息
3.2.2 使用.net 操作 微信公众平台 —— 回复用户消息 —— 回复图片消息
3.2.3 使用.net 操作 微信公众平台 —— 回复用户消息 —— 回复图文消息
4. 使用.net 操作 微信公众平台 —— 第三方登录
文本消息
1. 接收到的xml
<xml>
<ToUserName><![CDATA[gh_8f9d464d2……]]></ToUserName>
<FromUserName><![CDATA[ouHTz1LfufLC5Idj5nUWh4CD8……]]></FromUserName>
<CreateTime>1539928628</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[你好]]></Content>
<MsgId>6613943095868565010</MsgId>
</xml>
参数 | 解释 |
ToUserName | 开发者微信号 |
FromUserName | 发送方帐号(操作者的openId) |
CreateTime | 消息创建时间 (整型) |
MsgType | 类型(text:文本) |
Content | 文本内容 |
MsgId | 消息id,64位整型(由系统生成) |
2. 代码
/// <summary>
/// 消息类型适配器
/// </summary>
/// <param name=""></param>
private void ResponseMsg(ExmlMsg xmlMsg)
{
string messageType = xmlMsg.MsgType;//获取收到的消息类型。文本(text),图片(image),语音等。
try
{
switch (messageType)
{
case "text":
// 文本消息操作
break;
}
}
catch (Exception)
{
}
}
图片消息
1. 接收到的xml
<xml>
<ToUserName><![CDATA[gh_8f9d464d2……]]></ToUserName>
<FromUserName><![CDATA[ouHTz1LfufLC5Idj5nUWh4CD8……]]></FromUserName>
<CreateTime>1540017837</CreateTime>
<MsgType><![CDATA[image]]></MsgType>
<PicUrl><![CDATA[http://mmbiz.qpic.cn/mmbiz_jpg/OcALibQAbwk3icOSkejAWbd86ROnQr3lZYlaNcM5LtDDlKWuQA7aJF8Sc196dkBKOUkUQvyibAhTeyiaVibRm4icpASQ/0]]></PicUrl>
<MsgId>6614326245606103085</MsgId>
<MediaId><![CDATA[6rPAfCAP05X72lbBAzVYRxsLXeWie8aFyE2Whh1Dw2TiJJNfc2lp6ywHLL5t8Rhs]]></MediaId>
</xml>
参数 | 解释 |
ToUserName | 开发者微信号 |
FromUserName | 发送方帐号(操作者的openId) |
CreateTime | 消息创建时间 (整型) |
MsgType | 类型(text:图片) |
PicUrl | 图片链接地址(由系统生成) |
MsgId | 消息id,64位整型(由系统生成) |
MediaId | 图片消息媒体id,可以调用多媒体文件下载接口拉取数据 |
2. 代码
/// <summary>
/// 消息类型适配器
/// </summary>
/// <param name=""></param>
private void ResponseMsg(ExmlMsg xmlMsg)
{
string messageType = xmlMsg.MsgType;//获取收到的消息类型。文本(text),图片(image),语音等。
try
{
switch (messageType)
{
case "image":
// 图片消息操作
break;
}
}
catch (Exception)
{
}
}
语音消息
1. 接收到的xml
<xml>
<ToUserName><![CDATA[gh_8f9d464d2……]]></ToUserName>
<FromUserName><![CDATA[ouHTz1LfufLC5Idj5nUWh4CD8……]]></FromUserName>
<CreateTime>1540018040</CreateTime>
<MsgType><![CDATA[voice]]></MsgType>
<MediaId><![CDATA[cm_O7Fqzvkp0ojY2LTf-fkCxj6GkJ5wUsL_xJN1J24ehKJcFvUtqcHd8VYQw-RgQ]]></MediaId>
<Format><![CDATA[amr]]></Format>
<MsgId>6614327117484464220</MsgId>
<Recognition><![CDATA[]]></Recognition>
</xml>
参数 | 解释 |
ToUserName | 开发者微信号 |
FromUserName | 发送方帐号(操作者的openId) |
CreateTime | 消息创建时间 (整型) |
MsgType | 类型(voice:语音) |
MediaId | 图片消息媒体id,可以调用多媒体文件下载接口拉取数据 |
Format | 语音格式,如amr,speex等 |
MsgId | 消息id,64位整型(由系统生成) |
Recognition | 语音识别结果,UTF8编码(该字段需要 开通语音识别 才会有) |
2. 代码
/// <summary>
/// 消息类型适配器
/// </summary>
/// <param name=""></param>
private void ResponseMsg(ExmlMsg xmlMsg)
{
string messageType = xmlMsg.MsgType;//获取收到的消息类型。文本(text),图片(image),语音等。
try
{
switch (messageType)
{
case "voice":
// 语音消息操作
break;
}
}
catch (Exception)
{
}
}