Heim  >  Artikel  >  Backend-Entwicklung  >  Aktivierung des Entwicklermodus auf der öffentlichen WeChat-Plattform und automatische Antwort

Aktivierung des Entwicklermodus auf der öffentlichen WeChat-Plattform und automatische Antwort

不言
不言Original
2018-04-19 15:58:403241Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Aktivierung des Entwicklermodus der öffentlichen WeChat-Plattform. Er hat einen gewissen Referenzwert. Jetzt können Freunde in Not darauf verweisen > Was ist zunächst der Entwicklermodus?

Im Entwicklermodus wird zunächst Ihre Serveradresse überprüft. Sobald der Benutzer eine Nachricht an das offizielle WeChat-Konto sendet, leitet WeChat die Nachricht des WeChat-Benutzers an diese Adresse weiter Vorgesetzter.

Nachdem Ihr Server die Daten empfangen hat, entwerfen Sie ein Programm , um ein Ergebnis auszugeben, das dann vom WeChat-Server an den Benutzer zurückgegeben wird.

Es wird empfohlen, die Testnummer für das persönliche Lernen und die persönliche Entwicklung zu verwenden

Adresse des WeChat-Testkontos: http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

Konfigurieren Sie nach der Anmeldung die Schnittstelle. Geben Sie die Informationen mit der soeben generierten URL-Adresse und dem Token ein.

Die URL-Adresse ist die zweite Ebene Domain-Namen-Adresse.

Token ist im Programm auf Weixin fixiert

Nach dem Ausfüllen und Absenden wird eine Meldung angezeigt, dass die Konfiguration erfolgreich ist!

Wenn mehrmals die Meldung „

Token-Überprüfung fehlgeschlagen “ angezeigt wird. Verwandte Empfehlungen:

<?php

//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->run();

class wechatCallbackapiTest
{
	public function run(){
        if($this->checkSignature() == false){
            die("非法请求");
        }
        if(isset($_GET["echostr"])){
            $echoStr = $_GET["echostr"];
            echo $echoStr;
            exit;
        }else{
            $this->responseMsg();
        }
    }

    public function responseMsg(){
		//get post data, May be due to the different environments
		$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
		// $postStr = file_get_contents("php://input");
		file_put_contents(&#39;msg.txt&#39;,$postStr, FILE_APPEND);
		
      	//extract post data
		if (!empty($postStr)){
              	$postObj = simplexml_load_string($postStr, &#39;SimpleXMLElement&#39;, LIBXML_NOCDATA);
                $fromUsername = $postObj->FromUserName;
                $toUsername = $postObj->ToUserName;
                $keyword = trim($postObj->Content);
                $time = time();
                $textTpl = "<xml>
							<ToUserName><![CDATA[%s]]></ToUserName>
							<FromUserName><![CDATA[%s]]></FromUserName>
							<CreateTime>%s</CreateTime>
							<MsgType><![CDATA[%s]]></MsgType>
							<Content><![CDATA[%s]]></Content>
							<FuncFlag>0</FuncFlag>
							</xml>";             
				if(!empty($keyword)){
              		$msgType = "text";
                	$contentStr = "你好!";
                	// $contentStr = "hi!";
                	$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;
		}
	}
}

?>

Automatische Textantwort für die PHP-WeChat-Entwicklung

Automatische Antwort für die PHP-WeChat-Entwicklung

Das obige ist der detaillierte Inhalt vonAktivierung des Entwicklermodus auf der öffentlichen WeChat-Plattform und automatische Antwort. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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