微信公众平台开发教程 [付视频]

   这几年,微信很是流行,也是惟一能够和QQ抗衡的即时通,固然他们是一家子,微信除了有即时通的功能外,还有一些其余的功能,公众号就是其中之一,微信创始人甚至扬言微信能够实现大部分APP的功能,鉴于这样,最近两年不少开发者都转向了微信开发这一块,甚至有些公司也专门作微信开发的,微信公众号能够提供新闻推送,能够进行业务处理等等html

   本人接触微信开发也很少,只是公司有个项目用到了,可是在通过一次微信开发之后,感受基本的使用也不难,下面是本人在开发中的一些总结,本人才疏学浅,不排除有讲得不对或者漏了的地方,多多包涵,也望能指出,互相学习,互相进步...web

   下面是部分笔记json

注册公众平台帐号

我的只能注册订阅号https://mp.weixin.qq.com
订阅号 服务号 企业号 三者能使用的功能不相同
注册的帐号须要跟微信号绑定(微信号须要绑定银行卡)
注册地址:
https://mp.weixin.qq.com/cgi-bin/readtemplate?t=register/step1_tmpl&lang=zh_CN
注册须要邮箱激活安全

登陆微信公众平台

微信公众平台登录后,用户能够直接使用微信公众平台进行消息群发,添加微信公众号菜单等服务器

给公众号添加测试帐号

做为开发人员,可使用普通微信号来测试功能
登录公众平台后,在开发》开发者工具》里面能够扫描二维码添加测试帐号
此过程须要扫描你微信几回
扫描测试号二维码能够给测试公众号添加测试帐号
在功能》群发功能》添加文字群发,
看测试帐号是否收到
不过因为上面直接公众平台群发功能是正式的功能,因此一天只能群发一条消息 测试号则比这个权限多微信

 

对微信进行接口开发

该功能容许咱们调用微信的接口,进行第三方系统的对接,这样咱们在微信平台上面的不少操做,就不须要在微信平台上面操做了,咱们能够直接在咱们本身的系统上面进行微信公众平台的一些操做,好比添加菜单,群发消息,获取用户,消息回复等等
微信开发

 

微信|公众平台开发者文档

http://mp.weixin.qq.com/wiki/home/index.html
咱们本课程就是基于微信提供的开发文档
刚才注册的公众号若是未认证测拥有的权限是不i同样的
http://mp.weixin.qq.com/wiki/13/8d4957b72037e3308a0ca1b21f25ae8d.html
具体能够查看上面的
app

开发以前的准备

在开发》基本配置哪里,若是首次进入,则须要赞成协议
点击成为开发者后,会为开发者生产appid和appsecret
这两个是公众号和微信服务器进行交互的帐号密码
微信公众平台




服务器配置工具

 

开发者须要先开启服务器配置

填写URL token 消息加密密钥等
URL:开发者用来接收微信消息和事件的接口地址
Token:能够任意填写,用做生成签名k
该Token会和接口URL中包含的Token进行比对,从而验证安全性
EncodingAESKey由开发者手动填写或随机生成,将用做消息体加解密密钥
还能够选择消息加解密方式:明文模式(默认)、兼容模式和安全模式
上面的配置会保存当即生效,须要谨慎操做
添加服务器配置的时候 须要先开启,开启须要补全资料,好比上传头像等

微信是服务器和服务器之间的交换,因此咱们须要一台服务器
(虚拟空间,VPS均可以)
搭建一个web测试站,须要注册一个域名(80端口的)
能够是子域名 好比
weixin.bamn.cn

 

配置域名 80端口

 我还须要为填写的URL进行一些操做
若是你的接口是PHP的能够参考官网提供的
咱们这里是ASP.NET:
http://weixin.bamn.cn/WeiXinTokenApi.aspx 若是是https则443端口
微信服务器那边会往咱们上面的地址 进行get操做,咱们接口中能够拿到微信服务器传过来的三个参数signature timestamp nonce

 

加密/校验(和微信服务器校验-握手)

1获取微信服务器传过来的四个参数
2 对这三个参数进行“字典序排序”
3 拼接三个字符串
4 对拼接的字符串进行sha1加密
4 成功验证 原样返回
具体能够查看WeiXinTokenApi.aspx.cs页面的代码

 protected void Page_Load(object sender, EventArgs e)
        {

            if (Request.RequestType.ToLower().Equals("post"))
            {
                //接收消息
                ResponseMsg();
            }
            else
            {
                //校验接口
                CheckSignature();
            }
            Response.End();
        }

检验接口

 /// 
        /// 校验方法
        /// 
        private void CheckSignature()
        {
            try
            {
                //1获取微信服务器传过来的四个参数
                string signature = Request.QueryString["signature"];
                string timestamp = Request.QueryString["timestamp"];
                string nonce = Request.QueryString["nonce"];
                string echostr = Request.QueryString["echostr"];//该字符串用来成功验证后原样返回

                string token = TOKEN;
                string[] tmpArr = new string[] { token, timestamp, nonce };//2 对这三个参数进行“字典序排序”
                Array.Sort(tmpArr);
                string tmpStr = string.Join("", tmpArr);//3 拼接三个字符串
                tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");//4 sha1加密
                tmpStr = tmpStr.ToLower();
                if (tmpStr == signature)
                {
                    SetCacheDateTime("Item", tmpStr + ":" + signature + " " + echostr, 3600);
                    //4 成功验证原样返回
                    HttpContext.Current.Response.Write(echostr);
                }
                else {
                    SetCacheDateTime("Item", "验证不经过", 3600);
                    Response.Write("验证不经过");//随便返回
                }
            }
            catch (Exception ex)
            {
                SetCacheDateTime("Item", ex.Message, 3600);
                Response.Write(ex.Message);//随便返回
            }
        
列表
4-4节-公众号发送消息包括文本 图片 图文 语音 视频 等等
4-3节-点击菜单跳转连接时的事件推送
4-2节-处理自定义菜单事件返回歌曲名称
4-1节-接收事件推送-BAMN.CN北盟网校
3-10节-补充说明微信接口如何获取音频 视频 图文等的内容
3-9节-接收微信号发过来的连接消息
3-8节-接收微信号的地理位置消息
3-7节-接收小视频消息
3-6节-接收微信号的视频消息
3-5节-接收微信号的语言消息-BAMN.CN北盟网校
3-4节-接收微信号发送的图片消息-BAMN.CN北盟网校
3-3节-响应微信服务器,作一个【客服】自动回复的功能
3-2节-不要在try catch里面进行response.end
3-1节-接收普通微信号发送过来的消息
2-4节-查询菜单(获取菜单的json文本,一般用于同步菜单到网站系
2-3节-删除微信菜单接口的使用
2-2节-反序列化JSON结果
2-1节-自定义菜单建立接口给公众号添加菜单
1-6节-获取微信服务器IP地址
1-5节-添加一个基类Page添加AppID和AppSecret
1-4节-Json反序列化和HttpGet封装和上节课的补充
1-3节 获取access token
1-2节-加密校验(和微信服务器校验-握手)
1-1节-开发前的一些准备注册公众号和准备域名虚拟空间等

 如看视频 能够访问 http://www.iqiyi.com/u/2086142358

未完待续 但愿对你有帮助

相关文章
相关标签/搜索