微信プッシュテンプレートメッセージ

9443 ワード

微信のサービス番号では、サブスクリプションユーザーにメッセージをプッシュする必要があることが多く、テンプレートメッセージを使用する場合があります.次のコードは参照用のみで、個人テストに成功しました.
@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         }