微信プッシュテンプレートメッセージ
9443 ワード
微信のサービス番号では、サブスクリプションユーザーにメッセージをプッシュする必要があることが多く、テンプレートメッセージを使用する場合があります.次のコードは参照用のみで、個人テストに成功しました.
@access_token呼び出してくださいhttps://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=@appid&secret=@secretインタフェース取得.
@access_token呼び出してくださいhttps://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=@appid&secret=@secretインタフェース取得.
1 public static void Send()
2 {
3 dynamic postData = new ExpandoObject();
4 postData.touser = "OpenId";
5 postData.template_id = "template_id";
6 postData.url = string.Empty;
7 postData.topcolor = "#FF0000";
8 postData.data = new ExpandoObject();
9 var data = new[]
10 {
11 new Tuple<string, string, string>("title", " ", "#FF0000"),
12 new Tuple<string, string, string>("trainNumber", "10 ", "#FF0000"),
13 new Tuple<string, string, string>("fromto", " - ", "#FF0000"),
14 new Tuple<string, string, string>("formerTime", "2015/7/31 14:36:32", "#FF0000"),
15 new Tuple<string, string, string>("Time", "2015/07/31 14:36:32", "#FF0000"),
16 new Tuple<string, string, string>("number", "10 ", "#FF0000"),
17 new Tuple<string, string, string>("reason", " ", "#FF0000"),
18 new Tuple<string, string, string>("remark", " ", "#FF0000")
19 };
20 var dataDict = (IDictionary<string, object>)postData.data;
21 foreach (var item in data)
22 {
23 dataDict.Add(item.Item1, new { value = item.Item2, color = item.Item3 });
24 }
25 string json = ((object)postData).Serialize();
26
27 Console.WriteLine(json);
28 var r = NetUtils.CreateHttpResponse(@"https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=@access_token", json);
29 Console.WriteLine(r);
30 }