使用.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 操作 微信公众平台 —— 第三方登录​​​​​​​

扫描二维码关注公众号,回复: 3996723 查看本文章

 工具


回复文本消息

<xml>
    <ToUserName>< ![CDATA[toUser] ]></ToUserName>
    <FromUserName>< ![CDATA[fromUser] ]></FromUserName>
    <CreateTime>12345678</CreateTime>
    <MsgType>< ![CDATA[text] ]></MsgType>
    <Content>< ![CDATA[你好] ]></Content>
</xml>
参数 是否必须 描述
ToUserName 接收方帐号(收到的OpenID)
FromUserName 开发者微信号
CreateTime 消息创建时间 (整型)
MsgType text
Content 回复的消息内容(换行:在content中能够换行,微信客户端就支持换行显示)

被动回复

/// <summary>
/// 发送文本消息 - 被动消息
/// </summary>
/// <param name="msg">微信回复的文字</param>
/// <returns></returns>
private void SendText(string msg)
{
    int nowtime = ConvertDateTimeInt(DateTime.Now); // 查看工具 DateTime转为微信所需要的时间类型
    string resxml = "<xml>"
    resxml += "    <ToUserName><![CDATA[" + xmlMsg.FromUserName + "]]></ToUserName>"
    resxml += "    <FromUserName><![CDATA[" + xmlMsg.ToUserName + "]]></FromUserName>"
    resxml += "    <CreateTime>" + nowtime + "</CreateTime>"
    resxml += "    <MsgType><![CDATA[text]]></MsgType>"
    resxml += "    <Content><![CDATA[" + msg + "]]></Content>"
    resxml += "</xml>";
    Response.Write(resxml);
    Response.End();
}

客服消息

/// <summary>
/// 发送文本消息 - 客服消息
/// </summary>
/// <param name="token">工具 生成AccessToken</param>
/// <param name="msg">微信回复的文字</param>
/// <returns></returns>
private void SendTextCase(string token , string msg)
{
    string url = string.Format("https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token={0}", token);

    JObject data = new JObject();
    data.Add("touser", xmlMsg.FromUserName);
    data.Add("msgtype", "text");
    data.Add("text", JObject.FromObject(new
    {
        content = msg
    }));

    var res = HttpPost(data.ToString(), url);
}

/// <summary>
/// 远程获取数据(POST)
/// </summary>
/// <param name="param"></param>
/// <param name="url"></param>
/// <returns></returns>
private dynamic HttpPost(string param, string url)
{
    //转换输入参数的编码类型,获取bytep[]数组 
    byte[] byteArray = Encoding.UTF8.GetBytes(param);
    //初始化新的webRequst
    //1. 创建httpWebRequest对象
    HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(new Uri(url));
    //2. 初始化HttpWebRequest对象
    webRequest.Method = "POST";
    webRequest.ContentType = "application/json";
    webRequest.ContentLength = byteArray.Length;
    Stream newStream = webRequest.GetRequestStream();
    newStream.Write(byteArray, 0, byteArray.Length);
    newStream.Close();
    //4. 读取服务器的返回信息
    HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
    StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
    string srend = sr.ReadToEnd();
    sr.Close();
    response.Close();
    return srend;
}

msg消息处理

/// <summary>
/// 文本处理
/// </summary>
/// <returns></returns>
private string getText()
{
    StringBuilder retsb = new StringBuilder(200);
    retsb.Append("接收到的文本消息为" + xmlMsg.Content + "\n");
    retsb.Append("文本消息发送完毕");
    return retsb.ToString();
}

猜你喜欢

转载自blog.csdn.net/qq_31267183/article/details/83213681