获取模板ID在微信公众号开发文档中是这样描述的:
获得模板ID
从行业模板库选择模板到帐号后台,获得模板ID的过程可在MP中完成。为方便第三方开发者,提供通过接口调用的方式来获取模板ID,具体如下:
接口调用请求说明
http请求方式: POST https://api.weixin.qq.com/cgi-bin/template/api_add_template?access_token=ACCESS_TOKEN
POST数据说明
POST数据示例如下:
{ "template_id_short":"TM00015" }
参数说明
参数 | 是否必须 | 说明 |
---|---|---|
access_token | 是 | 接口调用凭证 |
template_id_short | 是 | 模板库中模板的编号,有“TM**”和“OPENTMTM**”等形式 |
返回码说明
在调用模板消息接口后,会返回JSON数据包。正常时的返回JSON数据包示例:
{ "errcode":0, "errmsg":"ok", "template_id":"Doclyl5uP7Aciu-qZ7mJNPtWkbkYnWBWVja26EGbNyk" }
按照文档中所述我们需要向这个地址POST数据可以获得模板ID:
https://api.weixin.qq.com/cgi-bin/template/api_add_template?access_token=ACCESS_TOKEN
POST的数据格式为:
{ "template_id_short":"TM00015" }
这个
template_id_short
大家可以在微信公众平台后台中的如下图所示位置找到:
access_token的获取方法大家可以参考我的另一篇文章:
使用C# .net开发微信公众号之获取AccessToken
然后我们还需要一个access_token 参数。
有了这两个条件我们就可以写代码了,我把自己的代码贴出来供大家参考:
/// <summary>
/// 获取模板ID
/// </summary>
/// <param name="accessToken">AccessToken</param>
/// <param name="templateShortID">模板库中模板的编号 有“TM**”和“OPENTMTM**”等形式</param>
/// <returns></returns>
public static string GetTemplateID(string accessToken, string templateData)
{
string url = string.Format("https://api.weixin.qq.com/cgi-bin/template/api_add_template?access_token={0}", accessToken);
HttpWebRequest hwr = WebRequest.Create(url) as HttpWebRequest;
hwr.Method = "POST";
hwr.ContentType = "application/x-www-form-urlencoded";
byte[] payload;
payload = System.Text.Encoding.UTF8.GetBytes(templateData);
hwr.ContentLength = payload.Length;
Stream writer = hwr.GetRequestStream();
writer.Write(payload, 0, payload.Length);
writer.Close();
var result = hwr.GetResponse() as HttpWebResponse;
string strMsg = WebResponseGet(result);
return strMsg;
}
没有错误的话微信会返回如下数据:
{ "errcode":0, "errmsg":"ok", "template_id":"Doclyl5uP7Aciu-qZ7mJNPtWkbkYnWBWVja26EGbNyk" }
错误的话会返回相应的错误码,大家可以去手册里查 微信的 全局返回码说明
就这样我们就获取到了模板ID,是不是很简单。
此方式或许有不妥之处,热烈欢迎大家吐槽。。。 错误之处也请大家指正,谢谢 ----- WeepingWeeper
谢谢大家观看参考,让我们一同进步。
微信的其他接口调用在持续更新中。。。欢迎关注持续关注。。