zoukankan      html  css  js  c++  java
  • C#微信接口之推送模板消息功能示例

    本文实例讲述了C#微信接口之推送模板消息功能。分享给大家供大家参考,具体如下:

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

    涉及到的实体:

    1
    2
    3
    4
    public class WXApi
    {
      public string access_token { set; get; }
    }

    更多关于C#相关内容感兴趣的读者可查看本站专题:《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结

    希望本文所述对大家C#程序设计有所帮助。

  • 相关阅读:
    URAL——DFS找规律——Nudnik Photographer
    URAL1353——DP——Milliard Vasya's Function
    URAL1203——DPor贪心——Scientific Conference
    递推DP HDOJ 5389 Zero Escape
    区间DP UVA 1351 String Compression
    树形DP UVA 1292 Strategic game
    Manacher HDOJ 5371 Hotaru's problem
    同余模定理 HDOJ 5373 The shortest problem
    递推DP HDOJ 5375 Gray code
    最大子序列和 HDOJ 1003 Max Sum
  • 原文地址:https://www.cnblogs.com/pangguoming/p/9496625.html
Copyright © 2011-2022 走看看