1. 程式人生 > >使用C# .net開發微信公眾號之獲取模板列表

使用C# .net開發微信公眾號之獲取模板列表

     /// <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 模板ID
title 模板標題
primary_industry 模板所屬行業的一級行業
deputy_industry 模板所屬行業的二級行業
content 模板內容
example 模板示例

此方式或許有不妥之處,熱烈歡迎大家吐槽。。。 錯誤之處也請大家指正,謝謝  -----    WeepingWeeper

謝謝大家觀看參考,讓我們一同進步。

微信的其他介面呼叫在持續更新中。。。歡迎關注持續關注。。