这里做个知识总结分享下经验,望一起学习。。。。。
感觉后面写个系列的最好了 。。。。
企业需求:
给指定企业用户发送消息:如考勤信息、 企业通知、个人信息推送等等,
/// </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 //返回页面请求信息 结果
以上为基础发送关键代码:
以下为:成功后的实例图:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。