使用C# .net开发微信公众号之获取模板列表

来源:互联网 发布:网民网络应用2017 编辑:程序博客网 时间:2024/05/17 04:13
     /// <summary>        /// 获取模板列表        /// </summary>        /// <param name="accessToken">AccessToken</param>        /// <returns></returns>        public static WXTemplateList GetTemplateList(string accessToken)        {            string templateUrl = string.Format("https://api.weixin.qq.com/cgi-bin/template/get_all_private_template?access_token={0}", accessToken);            var wc = new WebClient();            wc.Encoding = System.Text.Encoding.UTF8;            var strReturn = wc.DownloadString(templateUrl);            WXTemplateList template = new WXTemplateList();            if (!String.IsNullOrEmpty(strReturn))            {                JavaScriptSerializer Serializer = new JavaScriptSerializer();                template = Serializer.Deserialize<WXTemplateList>(strReturn);            }            return template;        }

首先我们先根据 文档的 返回示例建立相应的 模板类

因为示例显示返回的是模板列表,所以我们在建立好模板类之后需要建立一个包含 IList<WXTemplate> 类型的属性的 WXTemplateList类

WXTemplate:

public class WXTemplate    {        public virtual string template_id        {            get;            set;        }        public virtual string title        {            get;            set;        }        public virtual string primary_industry        {            get;            set;        }        public virtual string deputy_industry        {            get;            set;        }        public virtual string content        {            get;            set;        }        public virtual string example        {            get;            set;        }    }
WXTemplateList:

    public class WXTemplateList    {        public virtual IList<WXTemplate> template_list        {            get;            set;        }    }

之后我们直接使用 Serializer.Deserialize<WXTemplateList>(strReturn);
就会返回相应的 WXTemplateList 模板列表。

获取模板列表相对简单,只需调用微信的获取模板接口,传入accesstoken参数即可。


正确调用后的返回示例:

{ "template_list": [{      "template_id": "iPk5sOIt5X_flOVKn5GrTFpncEYTojx6ddbt8WYoV5s",      "title": "领取奖金提醒",      "primary_industry": "IT科技",      "deputy_industry": "互联网|电子商务",      "content": "{ {result.DATA} }\n\n领奖金额:{ {withdrawMoney.DATA} }\n领奖  时间:{ {withdrawTime.DATA} }\n银行信息:{ {cardInfo.DATA} }\n到账时间:  { {arrivedTime.DATA} }\n{ {remark.DATA} }",      "example": "您已提交领奖申请\n\n领奖金额:xxxx元\n领奖时间:2013-10-10 12:22:22\n银行信息:xx银行(尾号xxxx)\n到账时间:预计xxxxxxx\n\n预计将于xxxx到达您的银行卡"   }]}

返回参数说明

参数是否必填说明access_token是接口调用凭证template_id是模板IDtitle是模板标题primary_industry是模板所属行业的一级行业deputy_industry是模板所属行业的二级行业content是模板内容example是模板示例

此方式或许有不妥之处,热烈欢迎大家吐槽。。。 错误之处也请大家指正,谢谢  -----    WeepingWeeper


谢谢大家观看参考,让我们一同进步。


微信的其他接口调用在持续更新中。。。欢迎关注持续关注。。





0 0