第一完整看一下微信官方的文档
想要发送模板消息分为一下几步
第一步:想要发消息需要有这几个参数,
openid,这是给谁发消息
access_token,调用接口必要的
appid、secret 这两个是生成access_token 的
ok,只要有这几个参数就意味着你就可以发模板消息了,但前提是你在微信公众号平台已经配置好了具体可以参考这篇文章:手把手教你微信公众号如何给指定用户发送消息提醒_微信公众号推送消息-优快云博客
上面配置过程中需要注意的是,有一个txt文件
这个txt 文件要放到 服务器上,如果服务器找不到这个文件的话例如我这是一个API站,那就要在Program.cs 文件中配置一下
var app = builder.Build();
app.UseStaticFiles();
这样才能找到txt文件。
第一步代码如下
public string SendRemindMsg(string open_id, string msg_title, string redirect_url)
{
try
{
string access_token = GetAccessToken();
string msgid = "";
bool IsSuccess = false;
string poster = "{\"touser\": \"" + open_id + "\",\"template_id\":\"这里是你的模板id\", "
+ "\"url\":\"" + redirect_url + "\","
+ "\"data\":{\"first\":{\"value\":\"" + msg_title + "\",\"color\":\"#ff0000\"},"
+ "\"thing2\":{\"value\":\"测试\",\"color\":\"#ff0000\"},"
+ "\"number3\":{\"value\":\"1\",\"color\":\"#ff0000\"},"
+ "\"thing4\":{\"value\":\"测试\",\"color\":\"#ff0000\"},"
+ "\"time5\":{\"value\":\"" + DateTime.Now.ToString("yyyy年MM月dd日 HH:mm:ss") + "\",\"color\":\"#ff0000\"},"
+ "\"remark\":{\"value\":\"点击这里查看详情。\",\"color\":\"#0000ff\"}"
+ " } }";
string resultStr = GetPage("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + access_token, poster);
dynamic result = JsonConvert.DeserializeObject(resultStr);
return resultStr;
}
catch (Exception e)
{
return e.Message;
}
}
这就是发送逻辑,需要注意的是poster 中的内容
data中的 thing2、number3、thing4、time5 这些参数是根据平台上配置的模板参数来的
例如 我申请的模板是这样的
详细内容中的参数名就是 上面代码中poster -data 中的参数名
SendRemindMsg() 方法中 用到的基础方法代码如下 GetAccessToken() :
public string GetAccessToken()
{
var tokenRecord = _goodtooth.WeChatToken.Fir