微信,想必大家都不陌生,像支付寶一樣在悄悄的改變大家的生活方式。伴隨著這種新的生活方式,越來越多的微服務也開始進入我們的生活,我們可以使用微信查詢信用卡帳單、還款、支付,在最近的一次微信合作伙伴大會上,騰訊向公眾服務號開放支付功能與九大高級接口,透過這些接口,開發者可以實現使用利用微信搖控電視、冰箱、洗衣機甚至電飯煲,使用微信的微支付功能,還能方便地在線購買電影票、手機充值、收看互聯網電視付費節目等。
下面,就我個人的了解,簡單講述一下微信開發的第一步,如何與微信服務器對接。
想要涉足微信開發,第一步就是要申請一個微信公眾號。公眾號分為服務號和訂閱號。服務號,故名思義,主要是對用戶提供服務的,一般是企業或是服務行業用的比較多,功能相對訂閱號要強大一些,可以自定義用戶菜單;但也有不方便的地方,就是服務號一個月只允許發送一條群消息。訂閱號,主要是提供信息和資訊,一般是媒體用的比較多,功能相對服務號要弱一些,但可以每天發送一條群消息。以下的講述,都是以服務號為基礎。
微信公眾號申請好之後,我們還需要一個對外的WEB服務器,方便和微信服務器進行數據交互。這一步我就不細講了,百度和新浪都提供這個服務。
登錄微信公眾平台,在左側的導航菜單中選擇“功能”--> “高級功能”, 微信為我們提供了兩種“編輯模式”和“開發模式”,這兩種模式互斥,即如果開啟了“編輯模式”,則需要將“開發模式”關閉,反之亦然。“編輯模式”又稱傻瓜模式,開發者可以直接在平台上定義菜單,設置自動回復等功能。這裡定義的菜單功能比較弱,用戶點擊自定義菜單後,只能夠回復信息或是打開一個網頁,如果需要根據用戶點擊的菜單做一些其他動作,則需要使用到“開發模式”。
使用”開發模式“的前提是您必須申請成為開發者。
第一步需要指定接收微信服務器數據的URL,同時還需要指定一個TOKEN(由開發者任意填寫,用於生成簽名),用於接入時的驗證。
第二步要驗證您指定的URL的有效性,微信服務器會像您指定的URL發送一個GET請求,該請求攜帶四個參數。
開發者通過檢驗signature對請求進行校驗。若確認此次GET請求來自微信服務器,請原樣返回echostr參數內容,則接入生效,成為開發者成功,否則接入失敗。
PHP檢驗代碼如下。
<?php $wechatObj = new wechatCallbackAPI(); $wechatObj->valid(); class wechatCallbackAPI { private $token = "WEIXIN"; private $appId = "APPID"; private $appSecret = "APPSECRET"; private function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $tmpArr = array($this->token, $timestamp, $nonce); sort($tmpArr); $tmpStr = implode($tmpArr); $tmpStr = sha1($tmpStr); if($tmpStr == $signature) { return true; } else { return false; } } public function valid() { $echoStr = $_GET["echostr"]; //valid signature, option if($this->checkSignature()){ echo $echoStr; exit; } } } ?>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持幫客之家。