直接上代码:
以下代码为公众号发送模板消息的后台处理:
public RequestResult SendMessage(string body)
{
//获取公众号token
string serviceAddress = "https://api.weixin.qq.com/cgi-bin/token?appid=&secret=&grant_type=client_credential";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceAddress);
request.Method = "GET";
request.ContentType = "application/json";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
//公众号接口返回的参数转换到WeChatToken类(WeChatToken是自己定义的一个类)
WeChatToken weChatToken = JsonConvert.DeserializeObject<WeChatToken>(retString);
//发送模板消息
Encoding encoding = Encoding.UTF8;
string sendAddress = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + weChatToken.access_token;
HttpWebRequest sendrequest = (HttpWebRequest)WebRequest.Create(sendAddress);
sendrequest.Method = "POST";
sendrequest.ContentType = "application/json";
//body为模板消息的模板内容,格式一定要正确
byte[] buffer = encoding.GetBytes(body);
sendrequest.ContentLength = buffer.Length;
sendrequest.GetRequestStream().Write(buffer, 0, buffer.Length);
HttpWebResponse sendresponse = (HttpWebResponse)sendrequest.GetResponse();
Stream sendmyResponseStream = sendresponse.GetResponseStream();
StreamReader sendmyStreamReader = new StreamReader(sendmyResponseStream, Encoding.UTF8);
string sendretString = sendmyStreamReader.ReadToEnd();
sendmyStreamReader.Close();
sendmyResponseStream.Close();
return new RequestResult() { IsSucceed = true, Message = "SUCCESS", Data = sendretString };
}