Loading

微信公众号订阅模板 【发送自定义模板以及模板点击跳转新页面】

嗯。。。已经好久没写博客了,主要是今年一波三折,还好现在稳定下来。记录下微信的一些东西吧!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);
            }
View Code

然后我们分析下模板的data结构,可以发现data其实是一个字典,键对值的方式。所以代码我们也应该写成如下

public Dictionary<string,DataValue> data { get; set; }
public class DataValue
    {
        public string value { get; set; }
    }
View Code

 

 

三.根据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);
                //}
View Code

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);
                        //}
View Code

五.github代码参考,需要自取  项目:WeChatTemplate

https://github.com/AsyncTaskSola/WebClogXSEvan.git   

 

若要转载请附上作者原文链接 https://www.cnblogs.com/hexsola1314/p/15719370.html Evan

posted @ 2021-12-22 15:35  Evan-Huang  阅读(1388)  评论(0编辑  收藏  举报