.net推送微信消息模板

一、獲取access_tokenjson

public string GetAccess_Token()
{
string appid = WxPayConfig.APPID;
string appsecret = WxPayConfig.APPSECRET;
string access_token = "";
string token_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + appsecret;
string result = HttpService.Get(token_url);
JsonData jd = JsonMapper.ToObject(result);
access_token = (string)jd["access_token"];
return access_token;
}

二、模版消息使用Post 推送api

public string ModelMessageSend(string data)
{
  string url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + GetAccess_Token();
  string result = HttpPost(url,data);
  if (result.Contains("ok"))
  {
    return "OK";
  }
  else
  {
    return "消息推送失敗,具體錯誤爲:"+result;
  }
}

三、HttpPost方法微信

public string HttpPost(string url,string postData)
{
byte[] data = Encoding.UTF8.GetBytes(postData);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "Post";
request.ContentType = "application/json";
request.ContentLength = data.Length;
request.KeepAlive = true;

Stream stream = request.GetRequestStream();
stream.Write(data, 0, data.Length);

HttpWebResponse response;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException ex)
{
response = (HttpWebResponse)ex.Response;
}

StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string content = reader.ReadToEnd();

request.Abort();
response.Close();
reader.Dispose();
stream.Close();
stream.Dispose();

return content;
}

四、調用進行消息發送app

ModelMessageSend(「此處爲你的模版/在微信獲取」);函數

例如:會員充值模版post

{\"touser\":\"" + wxopenid + "\",\"template_id\":\"0YeXNaDr9KkmF55WdRj9_tRiRCjpV6x8eqTNR0FKNf8\",\"url\":\"\",\"topcolor\":\"#FF0000\",\"data\":{\"first\": {\"value\":\"" + strxm + ",您已成功充值\",\"color\":\"#000000\"},\"accountType\":{\"value\":\"會員卡號\",\"color\":\"#000000\"},\"account\":{\"value\":\"" + touser + "\",\"color\":\"#000000\"},\"amount\":{\"value\":\"" + je + "\",\"color\":\"#000000\"},\"result\":{\"value\":\"充值成功\",\"color\":\"#000000\"},\"remark\":{\"value\":\"" + qtnr + "\",\"color\":\"#000000\"}}}url

裏面的函數是我定義的。 能夠更換爲本身的。spa

相關文章
相關標籤/搜索