公眾平台開發經驗總結,公眾平台經驗總結
從去年開始做開發有一年時間了,做過PHP和.net兩種開發,有一些技巧分享給大家。
首先部署的伺服器要是80連接埠,之前都是在百度開發人員中心申請的免費的,後來他們收費了,就在新浪開發人員中心申請的伺服器,這種伺服器只能部署PHP的代碼,新浪免費版的伺服器不支援ASP.net。
在串連的時候會報token驗證失敗,這個可能是代碼問題,也有可能是URL的問題,建議弄個最簡單的代碼測試一下,下面的是PHP的,直接拷貝上去,替換相關參數,串連測試一下,或者有時候是網路問題,用這個串連上了,再把自己的代碼拷貝過來。
<?phpdefine("TOKEN", "pondbay");$wechatObj = new wechatCallbackapiTest();$wechatObj->valid();class wechatCallbackapiTest{ public function valid() { $echoStr = $_GET["echostr"]; if($this->checkSignature()){ echo $echoStr; exit; } } private function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } }}?>
後面在開發中,推送的URL可以直接用瀏覽器開啟試試,看看返回的json是不是有問題。開發的代碼中最好加上記錄檔,便於跟蹤查錯。
另外,介面文檔中有個錯誤,需要注意,群發訊息類型圖文訊息是mpnews,文本是text,圖片是image,語音是voice,音樂是music,視頻官方介面文檔中寫的是vedio,但是那樣會報類型出錯,應該是mpvedio。