當前位置:首頁 > PHP教程 > php高級應用 > 列表

php 微信公眾平臺開發之驗證步驟

發布:smiling 來源: PHP粉絲網  添加日期:2015-05-09 09:40:47 瀏覽: 評論:0 

微信公眾平臺開發我們現在做得比較多了,下面給各位介紹的是一個入門級別的微信公眾平臺驗證基礎知識了,有興趣的和小編來看看。

開發微信的時候 需要驗證一下,在官方開發者中心哪里有可以下源代碼,登錄到 公眾帳號后 看到左邊的最下角有一個開發者中心點擊,然后填寫上你相對應的 Token 和 url 然后就可以驗證成功的話就可以開發了.

下載微信php驗證源代碼在 開發者中心 - 開發者文檔 - 接口消息 - 驗證消息真實 - 拉到最下面就php演示代碼.  

下載好后代碼如下:

  1. <?php 
  2. /** 
  3.   * wechat php test 
  4.   * update time: 20141008 
  5.   */ 
  6. //define your token 
  7. define("TOKEN""weixin"); 
  8. $wechatObj = new wechatCallbackapiTest(); 
  9. $wechatObj->valid(); 
  10. class wechatCallbackapiTest 
  11. public function valid() 
  12.     { 
  13.         $echoStr = $_GET["echostr"]; 
  14.         //valid signature , option 
  15.         if($this->checkSignature()){ 
  16.         echo $echoStr
  17.         exit
  18.         } 
  19.     } 
  20.     public function responseMsg() 
  21.     { 
  22. //get post data, May be due to the different environments 
  23. $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; 
  24.       //extract post data 
  25. if (!emptyempty($postStr)){ 
  26.                  
  27.               $postObj = simplexml_load_string($postStr'SimpleXMLElement', LIBXML_NOCDATA); 
  28.                 $fromUsername = $postObj->FromUserName; 
  29.                 $toUsername = $postObj->ToUserName; 
  30.                 $keyword = trim($postObj->Content); 
  31.                 $time = time(); 
  32.                 $textTpl = "<xml> 
  33. <ToUserName><![CDATA[%s]]></ToUserName> 
  34. <FromUserName><![CDATA[%s]]></FromUserName> 
  35. <CreateTime>%s</CreateTime> 
  36. <MsgType><![CDATA[%s]]></MsgType> 
  37. <Content><![CDATA[%s]]></Content> 
  38. <FuncFlag>0</FuncFlag> 
  39. </xml>";              
  40. if(!emptyempty$keyword )) 
  41.                 { 
  42.               $msgType = "text"
  43.                 $contentStr = "Welcome to wechat world!"
  44.                 $resultStr = sprintf($textTpl$fromUsername$toUsername$time$msgType$contentStr); 
  45.                 echo $resultStr
  46.                 }else
  47.                 echo "Input something..."
  48.                 } 
  49.         }else { 
  50.         echo ""
  51.         exit
  52.         } 
  53.     } 
  54. private function checkSignature() 
  55.         $signature = $_GET["signature"]; 
  56.         $timestamp = $_GET["timestamp"]; 
  57.         $nonce = $_GET["nonce"]; 
  58. $token = TOKEN; 
  59. $tmpArr = array($token$timestamp$nonce); 
  60.         sort($tmpArr, SORT_STRING); 
  61. $tmpStr = implode( $tmpArr ); 
  62. $tmpStr = sha1( $tmpStr ); 
  63. if$tmpStr == $signature ){ 
  64. return true;  //phpfensi.com 
  65. }else
  66. return false; 
  67. ?> 

TOKEN 修改為你自己想要的 然后在 開發者中心也要寫一樣的,在驗證的過程中 $wechatObj->valid(); 這段代碼不能去除這個是驗證,驗證成功后 我們就可以把 這段 $wechatObj->valid(); 這個注釋掉了,然后使用 $wechatObj->responseMsg(); 來進行測試

注意:在開發的時候需要把 $wechatObj->valid(); 給注釋掉,不然在手機測試的時候 會沒有顯示什么.

Tags: php微信平臺 php公眾平臺

分享到:

广西快3最大遗漏值统计表