目录
1、接口说明
2、代码实现
3、效果图
4、代码下载
发送模板消息和创建菜单一模一样。下面详细说明
1、接口文档说明
1、向指定的URL发起一个POST请求,同时附加JSON的格式数据。URL格式如下
https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
JSON格式数据,就是向模板中的参数,填充的数值
2、模板创建
可以在微信测试公众号中创建模板,如下图所示
在创建方法中需要在预留参数的位置,模板中参数有点类似C#中的占位符。例如:
string test = string.Format("{0}这是一个占位符的演示字符串!", "你好!");
//test将是“你好!这是一个占位符的演示字符串!”
在模板中参数的格式为:{{参数.DATA}},大括弧里面的前半部分是参数名称,其他都是写死的。
所以可以在测试公众号中创建一个模板
3、将JSON数据附加到URL上,用于填充模板中的参数。JSON的数据格式如下:
{
"touser": "111111111", //要发送给OPENID
"template_id": "2222222222222", //创建的模板ID
"url": "http://baidu.com", //点击模板后,界面跳转的URL
"topcolor": "#FF0000", //颜色
"data": {
"myarg": { // myarg就是我模板中参数的名称
"value": "hello! world", //参数的内容
"color": "#173177"
}
}
}
将以上JSON推送给URL,OPENID对应的微信号,就会收到消息了
2、代码说明
代码说明:
主方法的代码:
//发送模板的消息
private string sendTemplate()
{
//1、将推送模板的数据保存到mytemplate.txt了,也可以直接将JSON写成一个string串
FileStream fs1 = new FileStream(Server.MapPath("~/") + "\\App_Data\\mytemplate.txt", FileMode.Open);
StreamReader sr = new StreamReader(fs1, Encoding.GetEncoding("GBK"));
string template_content = sr.ReadToEnd();
sr.Close();
fs1.Close();
//2、获取我的访问令牌
string my_token = getMyWeChatToken();
//3、组合成发送模板的URL
string url = string.Format("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0}", my_token);
//4、调用发送模板的方法,并返回结果
//因为可以与创建菜单的方法使用同一个,所以发送模板和创建菜单就使用了同一个
return createMenu(url, template_content);
}
以上是主方法。JSON数据格式如下:
{
"touser": "ofh123123hgbYTPa6k",
"template_id": "jska1sE8123123123gTLWA",
"url": "http://baidu.com",
"topcolor": "#FF0000",
"data": {
"myarg": {
"value": "hello! world",
"color": "#173177"
}
}
}
调用以上方法后,效果如下:
3、效果
点击“详情”链接,会跳转到之前设定的URL链接中
4、代码下载
源码下载如下:源码下载
版权声明:本文为zlbcdn原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。