Heim  >  Artikel  >  Backend-Entwicklung  >  Lösungen für den Fehler „Ihr Dienst konnte nicht richtig auf die Token-Überprüfung reagieren“ auf der öffentlichen WeChat-Plattform

Lösungen für den Fehler „Ihr Dienst konnte nicht richtig auf die Token-Überprüfung reagieren“ auf der öffentlichen WeChat-Plattform

WBOY
WBOYOriginal
2016-08-08 09:29:261329Durchsuche

Neu gepostet von: Klicken Sie hier, um den Link zu öffnen

http://lvwenhan.com/create/372.html

Essenz: Verwenden Sie einfach die offizielle Datei und rufen Sie

$wechatObj->valid();

auf, anstatt nach dem Kommentieren Folgendes anzurufen:

$wechatObj->responseMsg(); Bezüglich der Lösung des Problems „Ihr Dienst konnte nicht richtig auf Token antworten.“ Verifizierungsfehler auf der öffentlichen WeChat-Plattform Methode valid(); class wechatCallbackapiTest { public function valid() { $echoStr = $_GET["echostr"]; //valid signature , option if($this->checkSignature()){ echo $echoStr; exit; } } public function responseMsg() { //get post data, May be due to the different environments $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //extract post data if (!empty($postStr)){ $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $keyword = trim($postObj->Content); $time = time(); $textTpl = " %s 0 "; if(!empty( $keyword )) { $msgType = "text"; $contentStr = "Welcome to wechat world!"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; }else{ echo "Input something..."; } }else { echo ""; 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; } } } ?> Das Obige ist ein Beispiel der offiziell von Tencent bereitgestellten Schnittstellendatei. Das Problem zu lösen ist eigentlich ganz einfach. Es scheint, dass das WeChat-Dokument nicht geschrieben ist (oder ich kann es nicht finden==):
Verwenden Sie bei der Überprüfung des Tokens: $wechatObj->valid(); Wenn Sie in der formellen Produktionsumgebung auf Benutzernachrichten antworten müssen, verwenden Sie: $wechatObj->responseMsg();
Problem gelöst.

Das Obige stellt die Lösung für den Fehler „Ihr Dienst konnte nicht richtig auf die Token-Überprüfung reagiert“ auf der öffentlichen WeChat-Plattform vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die an PHP-Tutorials interessiert sind.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn