C#開發微信公衆號(4)---模板消息

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

源碼下載如下:源碼下載

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章