微信公眾平臺開發—配置接口

BlaBracewel 8年前發布 | 35K 次閱讀 服務器

在閱讀這篇文章之前你要做以下的準備:

1.注冊一個訂閱號(通過微信公眾平臺https://mp.weixin.qq.com/);
2.注冊新浪云并實名認證http://sae.sina.com.cn/
3.實名認證新浪云之后,創建一個云應用.
4.你需要知道php基礎知識.

一:驗證接口

1.登錄我們的公眾號.然后點擊進入開發者工具,在登錄之后頁面的左下角.

2.點擊進入開發者文檔.之后點擊開始開發,點擊接入指南,我們會看到如下圖.

D5D1E784-2064-4ABD-8B80-3ABD137F66A8.png

圖片上有說,接入微信公眾平臺開發,開發者需要按照如下步驟完成:
1.填寫服務器配置
2.驗證服務器地址的有效性
3.依據接口文檔實現業務邏輯.

第一步:填寫服務器配置

我們登錄微信公眾號之后,右下角基本開發配置點進去,

0.jpg

URL是開發者用來接收微信消息和事件的接口URL.具體怎么填我們等下詳細說.

Token可以隨意填寫(但是每個人都不一樣的,如果后面提交失敗可以試著修改Token),這個Token會和接口中包含的Token進行比對,從而驗證安全性,EncodingAESKey由開發者手動填寫或隨機生成,將用作消息體加解密密鑰。

填寫的URL,需要我們有自己的服務器的地址,現在我們就要到我們之前注冊的新浪云云應用了.

一.登錄新浪云,點擊云應用,點擊進入控制臺.如下圖創建

E150DD45-C65E-42F6-87D9-10BB9AC0E588.png

二.級域名和應用名稱,自己起個名字就好.然后點擊進入下圖紅色標記的地方.

2BD15953-4430-44BD-8208-DF5953CA334B.png

三.如下圖箭頭指示點擊進入編輯代碼

2568CDA5-911B-4A7A-A74D-44E6E9C86294.png

四.之后會彈出SAE的界面,我們需要在里面建立一個php文件,然后點擊通過URL訪問,之后我們把這個網址拷貝下來,放到我們之前基本配置的URL上.

屏幕快照 2016-09-20 下午7.43.54.png

第二步:驗證消息的確來自微信服務器

具體的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成功.如果不幸報錯了,沒關系我們找錯誤,點擊開發文檔,點擊開始前必讀,點擊接口返回碼說明,我們對照一下,根據提示找錯誤就好了.

說道這里我們的配置接口就完成了,下一節我們繼續微信開發->自定菜單創建接口.

 

來自:http://www.jianshu.com/p/56d8906ace28

 

 本文由用戶 BlaBracewel 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!