Maison  >  Article  >  développement back-end  >  Activation du mode développeur sur la plateforme publique WeChat et réponse automatique

Activation du mode développeur sur la plateforme publique WeChat et réponse automatique

不言
不言original
2018-04-19 15:58:403241parcourir

Le contenu de cet article concerne l'activation du mode développeur de la plateforme publique WeChat et la réponse automatique. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Tout d'abord, qu'est-ce que le mode développeur ?

Le mode développeur consiste à vérifier d'abord l'adresse de votre serveur. Une fois la vérification terminée, une fois que l'utilisateur envoie un message au compte officiel WeChat, WeChat transmettra le message de l'utilisateur WeChat à cette adresse. supérieur. Une fois que votre serveur a reçu les données, vous concevez ensuite un programme pour générer un résultat, qui est ensuite renvoyé à l'utilisateur par le serveur WeChat.

Il est recommandé d'utiliser le numéro de test pour l'apprentissage et le développement personnel

Adresse du compte de test WeChat : http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

Après vous être connecté, configurez l'interface. Remplissez les informations avec l'adresse URL et le jeton que vous venez de générer

L'adresse URL est de deuxième niveau. adresse du nom de domaine.

Le jeton est fixé sur weixin dans le programme

Après avoir rempli et soumis, il vous indiquera que la configuration est réussie !

S'il affiche "la vérification du jeton a échoué ", plusieurs fois.

<?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;
		}
	}
}

?>
Recommandations associées :

Réponse automatique pour le développement de PHP WeChat

Réponse automatique pour le développement de PHP WeChat


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn