使用.net 操作 微信公众平台 —— 接收用户操作 —— 接收用户发送的消息

目录

  1. 使用.net 操作 微信公众平台 —— 接入

  2. 使用.net 操作 微信公众平台 —— 生成微信菜单

  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)
    {
    }
}

猜你喜欢

转载自blog.csdn.net/qq_31267183/article/details/83213055
今日推荐