微信公众号订阅模板 【发送自定义模板以及模板点击跳转新页面】
嗯。。。已经好久没写博客了,主要是今年一波三折,还好现在稳定下来。记录下微信的一些东西吧!string.format可以简写成$ 有需要的同学们!!
为了关心一些没有公众号的开发者,微信推出了开发者的测试号,按地址https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index去注册一个微信开发者的测试号!这时候只需要用微信扫描登陆既可注册一个测试好了。如下图:
这里的appid 和 appsecret对我们很重要,为了能获取后面accesstoken。如果注册完成上面步骤,我们开始搞事情!!!!
一.关注测试号,编写模板内容
注意,模板一定要按照官方指定的规则去编写,当然可以看到官方也是做了一些字段的约束,可以参考
二.根据appid 和 appsecret获取accesstoken,模板内容分析
为了确保你的appid和appsecret是正确的,你可以采用https://mp.weixin.qq.com/debug/去验证下,如果正确如图显示
当然我们也可以简单的get请求下
var authurl = string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", appid, secret); var content = ""; using (WebClient client = new WebClient() { Encoding = System.Text.Encoding.UTF8 }) { content = client.DownloadString(authurl); }
然后我们分析下模板的data结构,可以发现data其实是一个字典,键对值的方式。所以代码我们也应该写成如下
public Dictionary<string,DataValue> data { get; set; } public class DataValue { public string value { get; set; } }
三.根据accesstoken和openid 向关注者发送消息
注意在官方模板中touser 下发者,即为接受者的openid
可以参考连接https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0},并以post的请求去发送,如果返回为0即成功了
四.一些其它需求可能用到的接口
1.获取公众号下的所有关注者的openid
//关注者的所有openid //var datas = string.Format("https://api.weixin.qq.com/cgi-bin/user/get?access_token={0}",mode.access_token); //using (WebClient client = new WebClient() { Encoding = System.Text.Encoding.UTF8 }) //{ // content = client.DownloadString(datas); //}
2.根据openid获取关注者的信息
//根据openid找到对应的人员信息 //var resinfo = string.Format("https://api.weixin.qq.com/cgi-bin/user/info?access_token={0}&openid={1}&lang=zh_CN", mode.access_token, x.OpenId); //using (WebClient client = new WebClient() { Encoding = System.Text.Encoding.UTF8 }) //{ // content = client.DownloadString(resinfo); //}
五.github代码参考,需要自取 项目:WeChatTemplate
https://github.com/AsyncTaskSola/WebClogXSEvan.git
若要转载请附上作者原文链接 https://www.cnblogs.com/hexsola1314/p/15719370.html Evan