架构师_程序员

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 58|回复: 0

[接口] C#微信接口之推送模板消息功能示例

[复制链接]
发表于 2019-3-15 11:53:18
本文实例讲述了C#微信接口之推送模板消息功能。分享给大家供大家参考,具体如下:
  1. public string SendTempletMessge()
  2. {
  3.    string strReturn = string.Empty;
  4.    try
  5.    {
  6.      #region 获取access_token
  7.      string apiurl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的appid&secret=你的secret";
  8.      WebRequest request = WebRequest.Create(@apiurl);
  9.      request.Method = "POST";
  10.      WebResponse response = request.GetResponse();
  11.      Stream stream = response.GetResponseStream();
  12.      Encoding encode = Encoding.UTF8;
  13.      StreamReader reader = new StreamReader(stream, encode);
  14.      string detail = reader.ReadToEnd();
  15.      var jd = JsonConvert.DeserializeObject<WXApi>(detail);
  16.      string token = (String)jd.access_token;
  17.      #endregion
  18.      #region 组装信息推送,并返回结果(其它模版消息于此类似)
  19.      string url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + token;
  20.      string temp = "{"touser": "" + UserInfo.OpenID + ""," +
  21.             ""template_id": "f3kRRjJeyLDf4tndtg-OJeRvgEdgjjDxCy4T9kuwM70", " +
  22.             ""topcolor": "#FF0000", " +
  23.             ""data": " +
  24.             "{"first": {"value": "您好,您有一条回款通知信息"}," +
  25.             ""keyword1": { "value": "单位名称"}," +
  26.             ""keyword2": { "value": "日期"}," +
  27.             ""keyword3": { "value": "金额"}," +
  28.             ""keyword4": { "value": "业务员"}," +
  29.             ""remark": {"value": "" }}}";
  30.      #endregion
  31.    //核心代码
  32.    GetResponseData(temp, @url);
  33.      strReturn = "推送成功";
  34.    }
  35.    catch (Exception ex)
  36.    {
  37.     strReturn = ex.Message;
  38.    }
  39.    return strReturn;
  40. }
  41. /// <summary>
  42. /// 返回JSon数据
  43. /// </summary>
  44. /// <param name="JSONData">要处理的JSON数据</param>
  45. /// <param name="Url">要提交的URL</param>
  46. /// <returns>返回的JSON处理字符串</returns>
  47. public string GetResponseData(string JSONData, string Url)
  48. {
  49.    byte[] bytes = Encoding.UTF8.GetBytes(JSONData);
  50.    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
  51.    request.Method = "POST";
  52.    request.ContentLength = bytes.Length;
  53.    request.ContentType = "json";
  54.    Stream reqstream = request.GetRequestStream();
  55.    reqstream.Write(bytes, 0, bytes.Length);
  56.    //声明一个HttpWebRequest请求
  57.    request.Timeout = 90000;
  58.    //设置连接超时时间
  59.    request.Headers.Set("Pragma", "no-cache");
  60.    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  61.    Stream streamReceive = response.GetResponseStream();
  62.    Encoding encoding = Encoding.UTF8;
  63.    StreamReader streamReader = new StreamReader(streamReceive, encoding);
  64.    string strResult = streamReader.ReadToEnd();
  65.    streamReceive.Dispose();
  66.    streamReader.Dispose();
  67.    return strResult;
  68. }
复制代码
涉及到的实体:
  1. public class WXApi
  2. {
  3.   public string access_token { set; get; }
  4. }
复制代码
希望本文所述对大家C#程序设计有所帮助。




上一篇:html文本溢出显示省略字符的两种常用方法
下一篇:C#实现微信支付
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

Mail To:help@itsvse.com

QQ|Archiver|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2019-3-26 03:53

Powered by Discuz! X3.4

© 2001-2014 Comsenz Inc.

快速回复 返回顶部 返回列表