使用php開發微信公眾平台設定介面程式

高洛峰
發布: 2018-05-15 16:26:15
原創
5717 人瀏覽過

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

1.註冊一個訂閱號碼(透過微信公眾平台https://mp.weixin.qq.com/);
2.註冊新浪雲並實名認證http://sae.sina.com.cn/
3.實名認證新浪雲之後,創建一個雲端應用.
4.你需要知道php基礎知識.

一:驗證介面

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

2.點選進入開發者文件.之後點選開始開發,點選存取指南,我們會看到如下圖.

使用php開發微信公眾平台設定介面程式

圖片上有說,存取微信公眾平台開發,開發者需依照下列步驟完成:

1.填入伺服器設定
2.驗證伺服器位址的有效性
3.依據介面文件實作業務邏輯.

第一步:填入伺服器設定

我們登入微信公眾號之後,右下角基本開發設定點進去,

使用php開發微信公眾平台設定介面程式

#URL是開發者用來接收微信訊息和事件的介面URL.具體怎麼填我們等下詳細說.

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

填寫的URL,需要我們有自己的伺服器的位址,現在我們就要到我們之前註冊的新浪雲雲應用了.

一.登入新浪雲,點擊雲應用,點擊進入控制台.如下圖創建

使用php開發微信公眾平台設定介面程式

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

使用php開發微信公眾平台設定介面程式

三.如下箭頭指示點擊進入編輯程式碼

使用php開發微信公眾平台設定介面程式

##四.之後會彈出SAE的介面,我們需要在裡面建立一個php檔案,然後點擊透過URL存取,之後我們把這個網址拷貝下來,放到我們之前基本配置的URL上.

使用php開發微信公眾平台設定介面程式

第二步:

驗證訊息的確來自微信伺服器具體的

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,然后一个网址,我们需要用到这个网址,如下图,

使用php開發微信公眾平台設定介面程式

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成功.如果不幸报错了,没关系我们找错误,点击开发文档,点击开始前必读,点击接口返回码说明,我们对照一下,根据提示找错误就好了.

说道这里我们的配置接口就完成了,下一节我们继续微信开发->自定菜单创建接口.

以上是使用php開發微信公眾平台設定介面程式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!