這篇文章主要為大家詳細介紹了php公眾平台配置介面開發程式,具有一定的參考價值,感興趣的小夥伴們可以參考一下
在閱讀這篇文章之前你要做以下的準備:
1.註冊一個訂閱號(通過公眾平台https://mp.weixin.qq.com/);
2.註冊新浪雲並實名認證http://sae.sina.com.cn/
3.實名認證新浪雲之後,建立一個雲應用.
4.你需要知道php基礎知識.
一:驗證介面
1.登入我們的公眾號.然後點擊進入開發人員工具,在登入之後頁面的左下角.
2.點擊進入開發人員文檔.之後點擊開始開發,點擊接入指南,我們會看到如.
圖片上有說,接入公眾平台開發,開發人員需要按照如下步驟完成:
1.填寫伺服器配置
2.驗證伺服器位址的有效性
3.依據介面文檔實現商務邏輯.
第一步:填寫伺服器配置
我們登入公眾號之後,右下角基本開發配置點進去,
URL是開發人員用來接收訊息和事件的介面URL.具體怎麼填我們等下詳細說.
Token可以隨意填寫(但是每個人都不一樣的,如果後面提交失敗可以試著修改Token),這個Token會和介面中包含的Token進行比對,從而驗證安全性,EncodingAESKey由開發人員手動填寫或隨機產生,將用作訊息體加解密密鑰。
填寫的URL,需要我們有自己的伺服器的地址,現在我們就要到我們之前註冊的新浪云云應用了.
一.登入新浪雲,點擊雲應用,點擊進入控制台.如建立
二.級網域名稱和應用程式名稱,自己起個名字就好.然後點擊進入紅色標記的地方.
三.如箭頭指示點擊進入編輯代碼
四.之後會彈出SAE的介面,我們需要在裡面建立一個php檔案,然後點擊通過URL訪問,之後我們把這個網址拷貝下來,放到我們之前基本配置的URL上.
第二步:驗證訊息的確來自伺服器
具體的php代碼如下:
<?php // //最簡單的驗證方式 // echo $_GET["echostr"]; //驗證是否來自於 function checkWeixin(){ //會發送4個參數到我們的伺服器後台 簽名 時間戳記 隨機字串 隨機數 $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $echostr = $_GET["echostr"]; $token = "qilipingmgl"; // 1)將token、timestamp、nonce三個參數進行字典序排序 $tmpArr = array($nonce,$token,$timestamp); sort($tmpArr,SORT_STRING); // 2)將三個參數字串拼接成一個字串進行sha1加密 $str = implode($tmpArr); $sign = sha1($str); // 3)開發人員獲得加密後的字串可與signature對比,標識該請求來源於 if ($sign == $signature) { echo $echostr; } } checkWeixin();?>
注意:代碼中 $token 是每個人不同的,我們需要填寫自己的,點擊開發人員工具,之後右邊有公眾平台測試帳號,點擊進入,之後我們會看到介面配置,把Token複製過來放到代碼中.
我們把這個代碼複製到我們剛建立的SAE的php檔案裡,再儲存(記得要儲存哦),然後點擊通過URL訪問,
如果報錯了(報錯的資訊是數位話),請點擊開發人員文檔中,點擊開始前必讀,有個介面返回碼說明,我們可以對照一下,錯誤在哪裡, 注意:0的時候表示請求成功.
二.擷取access_token
提示:access_token是公眾號的全域唯一介面調用憑據,公眾號調用各介面時都需使用access_token.我們作為開發人員要妥善儲存,access_token的有效期間目前為2個小時,需定時重新整理,重複擷取將導致上次擷取的access_token失效。
第一步,我們點擊開發人員文檔,點擊開始開發,點擊擷取access_token之後會看到,http請求方式:GET,然後一個網址,我們需要用到這個網址,如,
E0204D74-2EA6-4943-B93F-7E7C1E2FA88A.png
第二步:我們寫GET請求的函數,擷取access_token
<?php class Weixin{ private $appID = "wxe62f370c4e2cade2"; private $appsecret = "58807091ae5a4c59ee3e47108184bdb7"; function getAccessToken(){ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appID}&secret={$this->appsecret}"; // return $this->httpGet($url); //json字串 $json = $this->httpGet($url); //解析json $obj = json_decode($json); return $obj->access_token; } function httpGet($url){ //1.初始化 $curl = curl_init(); //配置curl curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); //執行curl $res = curl_exec($curl); //關閉curl curl_close($curl); return $res; } } $wx = new Weixin(); echo $wx->getAccessToken(); /* 擷取access_token方法 get方法 */?>
注意:代碼中 $appID 和 $appsecret 是每個人不同的,我們需要填寫自己的,點擊開發人員工具,之後右邊有公眾平台測試帳號,點擊進入,之後我們會看到測試號資訊.然後複製過來放到代碼中.
第三步:我們代碼複製到SAEphp檔案中,點擊右鍵通過URL訪問,如果返回 {"access_token":"ACCESS_TOKEN","expires_in":7200} 表示我們擷取token成功.如果不幸報錯了,沒關係我們找錯誤,點擊開發文檔,點擊開始前必讀,點擊介面返回碼說明,我們對照一下,根據提示找錯誤就好了.
說道這裡我們的配置介面就完成了,下一節我們繼續開發->自定菜單建立介面.
總結:以上就是本篇文的全部內容,希望能對大家的學習有所協助。