目錄
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、代碼下載
源碼下載如下:源碼下載