이 글에서는 WeChat 공개 플랫폼의 개발자 모드 활성화 및 자동 응답에 대해 소개합니다. 이제 이를 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다.
우선 개발자란 무엇인가요? 방법?
개발자 모드는 먼저 서버 주소를 확인하는 것입니다. 확인이 완료된 후 사용자가 WeChat 공식 계정으로 메시지를 보내면 WeChat은 WeChat 사용자의 메시지를 이 주소로 전달합니다. 서버가 데이터를 받은 후, 프로그램을 직접 설계하여 결과를 출력하면 WeChat 서버가 사용자에게 결과를 반환합니다.
개인 학습 및 발전을 위해 테스트 계정을 사용하는 것이 좋습니다.
WeChat 테스트 계정 주소: http://mp.weixin.qq.com/debug/cgi-bin /sandbox?t=sandbox /login
로그인 후 인터페이스 구성정보에 방금 생성된 URL 주소와 Token을 입력하세요.
URL 주소는 2차 도메인 이름 주소입니다.
토큰은 프로그램에서 weixin으로 고정되어 있습니다
입력하고 제출하면 구성이 성공했다는 메시지가 표시됩니다!
"토큰 확인 실패" 메시지가 여러 번 표시되는 경우.
<?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('msg.txt',$postStr, FILE_APPEND); //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 = "<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; } } } ?>
관련 추천:
위 내용은 WeChat 공개 플랫폼에서 개발자 모드 활성화 및 자동 응답의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!