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


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

  • 相关阅读:
    MVC3 验证码
    说说.NET反编译工具
    HTTP协议学习
    Spring Web Flow 的优缺点
    Java CLASSPATH 引发的问题
    MySQL 高级
    Java Policy
    AJAX
    数据结构与算法学习资源
    C#学习资源
  • 原文地址:https://www.cnblogs.com/hexsola1314/p/15719370.html
Copyright © 2020-2023  润新知