微信公众平台C#开发系列(十三): 模板消息-获得模板ID
使用微信公众平台接口获取推送模板消息的模板ID
从行业模板库选择模板到帐号后台,获得模板ID的过程可在微信公众平台后台完成。为方便第三方开发者,提供通过接口调用的方式来获取模板ID,具体如下:
官方文档地址
https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html#
首先先去微信公众测试号 管理后台添加 测试消息模板
填写模板内容 这里以文档里的例子为例(注意参数{{}}大括号之间不能有空格)
添加完成后
获得模板ID
根据文档我们先定义一个MessageTemplateIdResponse类继承 ErrorMessage 用于解析接口结果
ErrorMessage 公共类参考 : 微信公众平台C#开发系列(四):获取access token凭证
namespace YuanTK.WeiXin.Wrapper
{
/// <summary>
/// 获取消息模板Id结果
/// </summary>
public class MessageTemplateIdResponse : ErrorMessage
{
/// <summary>
/// 模板Id
/// </summary>
public string template_id { get; set; }
}
}
定义一个MessageTemplateId方法类继承WeiXinRequest 和接口IWeiXin
namespace YuanTK.WeiXin
{
/// <summary>
/// 获取消息模板ID
/// </summary>
public class MessageTemplateId: WeiXinRequest<MessageTemplateIdResponse>, IWeiXin<MessageTemplateIdResponse>
{
/// <summary>
/// 接口地址
/// </summary>
String api;
object _RequestData;
/// <summary>
/// 接口调用凭证
/// </summary>
/// <param name="access_token"></param>
/// <param name="template_id_short">模板库中模板的编号,有“TM**”和“OPENTMTM**”等形式</param>
public MessageTemplateId(string access_token,string template_id_short)
{
_RequestData = new { template_id_short = template_id_short };
///初始化接口地址
api = $"https://api.weixin.qq.com/cgi-bin/template/api_add_template?access_token={access_token}";
}
/// <summary>
/// 调用接口获取结果
/// </summary>
/// <returns></returns>
public MessageTemplateIdResponse GetResponse()
{
var jSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
string poststr = Newtonsoft.Json.JsonConvert.SerializeObject(this._RequestData, Formatting.Indented, jSetting);
return this.Post(api, poststr);
}
}
}
调用代码例子
string access_token = token.access_token;
IWeiXin<MessageTemplateIdResponse> api = new MessageTemplateId(access_token, "1");
MessageTemplateIdResponse response = api.GetResponse();
调用成功返回的结果
由于template_id_short 这个参数测试号没找到 所以接口都是错误返回 实际好像也没怎么用到这个参数 这里就不截取运行图了