微信开发回复用户消息的代码实例分享

前段时间开发了公司的微信

这里做个知识总结分享下经验,望一起学习。。。。。

感觉后面写个系列的最好了 。。。。

企业需求:

给指定企业用户发送消息:如考勤信息、 企业通知、个人信息推送等等,

/// </summary>
        /// <param name=UserID>要发送的人ID</param>
        /// <param name=StrMessg>消息</param>
        private void SendMessage(string UserID, string StrMessg)
        {
            Como.LogUtil.WriteLog(回复用户 + UserID + 消息);
            string Access_Token = Como.GetAccessToken.GetAccess_token();
            if (Access_Token == )
                Como.LogUtil.WriteException(SendMessage 未能成功加载Access_Token);
            string Text = @{
   touser:;
            Text += '' + UserID + '';
            Text += , + '' + @msgtype: text, 
           agentid: 5, 
            text: {
           content:;
            Text += '' + StrMessg + '';
            Text += @}, 
    safe: 0
};
            ;
            string url = String.Format(https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={0}, Access_Token);
            string strResult = Como.Tools.GetPage(url, Text);

            JArray ja = (JArray)JsonConvert.DeserializeObject([ + strResult + ]);
            string Error = ;
            try
            {
                if (strResult.Contains(errcode))
                {
                    Error = ja[0][errcode].ToString();
                }
            }
            catch (Exception ex)
            {
                Como.LogUtil.WriteException(获取strResult,未获取到错误信息 + ex.Message.ToString());
            }
            string errcode = ja[0][errcode].ToString();
            string errmsg = ja[0][errmsg].ToString();
            if (errcode == 0 && errmsg == ok)
            {
                Como.LogUtil.WriteLog(回复成功!);
            }
            else
            {
                Como.LogUtil.WriteLog(回复失败!);
                Como.LogUtil.WriteException(回复失败:SendMessage: + strResult); 
            }
        }
/// <summary>
        /// 根据请求地址 和数据返回请求结果
        /// </summary>
        /// <param name=posturl></param>
        /// <param name=postData></param>
        /// <returns></returns>
        public static string GetPage(string posturl, string postData)
        {

            Stream outstream = null;

            Stream instream = null;

            StreamReader sr = null;

            HttpWebResponse response = null;

            HttpWebRequest request = null;

            Encoding encoding = Encoding.UTF8;

            byte[] data = encoding.GetBytes(postData);

            // 准备请求...

            try
            {

                // 设置参数

                request = WebRequest.Create(posturl) as HttpWebRequest;

                CookieContainer cookieContainer = new CookieContainer();

                request.CookieContainer = cookieContainer;

                request.AllowAutoRedirect = true;

                request.Method = POST;

                request.ContentType = application/x-www-form-urlencoded;

                request.ContentLength = data.Length;

                outstream = request.GetRequestStream();

                outstream.Write(data, 0, data.Length);

                outstream.Close();

                //发送请求并获取相应回应数据

                response = request.GetResponse() as HttpWebResponse;

                //直到request.GetResponse()程序才开始向目标网页发送Post请求

                instream = response.GetResponseStream();

                sr = new StreamReader(instream, encoding);

                //返回结果网页(html)代码

                string content = sr.ReadToEnd();

                string err = string.Empty;

                return content;

            }

            catch (Exception ex)
            {

                string err = ex.Message;
                Como.LogUtil.WriteException(Tools GetPage 异常为:+err.ToString());
                return string.Empty;

            }

        }

参数引用详解:

1.Como.GetAccessToken.GetAccess_token() //获取 Access_token

2.GetPage //返回页面请求信息 结果

以上为基础发送关键代码:

以下为:成功后的实例图:

1475.png

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


网页授权获取用户信息的方法
报错config:invalid signature的解决方案
微信开发百思不得姐实战教程
详解微信开发input输入框
教你libco是如何支撑巨大数据信息量的
微信二次开发之文本消息请求与发送
微信开发H5轻游戏
scroll-view完成列表页的方法详解
Java微信开发之自定义菜单的创建
微信开发之input控件的实例详解
微信开发Emoji表情的实例教程
微信开发中详解textarea的使用方法
微信开发中使元素占满全屏的方法介绍
微信开发之数据访问的方法详解
微信二次开发之各类型消息封装
微信开发之数据库操作
如何获取微信好友的地理位置信息
分享3款微信开发开源框架
微信开发之获取服务器IP
微信开发之公交换乘功能代码详解