本文實(shí)例講述了C#微信接口之推送模板消息功能。分享給大家供大家參考,具體如下:
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 組裝信息推送,并返回結(jié)果(其它模版消息于此類似)     string url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + token;     string temp = "{/"touser/": /"" + UserInfo.OpenID + "/"," +            "/"template_id/": /"f3kRRjJeyLDf4tndtg-OJeRvgEdgjjDxCy4T9kuwM70/", " +            "/"topcolor/": /"#FF0000/", " +            "/"data/": " +            "{/"first/": {/"value/": /"您好,您有一條回款通知信息/"}," +            "/"keyword1/": { /"value/": /"單位名稱/"}," +            "/"keyword2/": { /"value/": /"日期/"}," +            "/"keyword3/": { /"value/": /"金額/"}," +            "/"keyword4/": { /"value/": /"業(yè)務(wù)員/"}," +            "/"remark/": {/"value/": /"/" }}}";     #endregion   //核心代碼   GetResponseData(temp, @url);     strReturn = "推送成功";   }   catch (Exception ex)   {    strReturn = ex.Message;   }   return strReturn;}/// <summary>/// 返回JSon數(shù)據(jù)/// </summary>/// <param name="JSONData">要處理的JSON數(shù)據(jù)</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);   //聲明一個(gè)HttpWebRequest請(qǐng)求   request.Timeout = 90000;   //設(shè)置連接超時(shí)時(shí)間   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;}涉及到的實(shí)體:
public class WXApi{  public string access_token { set; get; }}更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#常見控件用法教程》、《WinForm控件用法總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》及《C#程序設(shè)計(jì)之線程使用技巧總結(jié)》
希望本文所述對(duì)大家C#程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選