微信公衆平臺開發教程 [付視頻]

   這幾年,微信很是流行,也是惟一能夠和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

未完待續 但願對你有幫助

相關文章
相關標籤/搜索