valid"/> valid">

ホームページ  >  記事  >  バックエンド開発  >  最初の公開 WeChat デモは常に正常に実行されません

最初の公開 WeChat デモは常に正常に実行されません

WBOY
WBOYオリジナル
2016-06-13 12:12:061053ブラウズ

最初の公開 WeChat デモは常に実行に失敗しました
多くのコードを探しましたが、ほぼすべてが次のとおりです:

<?php<br />define("TOKEN", "imates");//自己定义的token 就是个通信的私钥<br />$wechatObj = new wechatCallbackapiTest();<br />$wechatObj->valid();<br />$wechatObj->responseMsg();<br />class wechatCallbackapiTest<br />{<br />    public function valid()<br />    {<br />        $echoStr = $_GET["echostr"];<br />        if($this->checkSignature()){<br />            echo $echoStr;<br />            exit;<br />        }<br />    }<br />    public function responseMsg()<br />    {<br />        $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];<br />        if (!empty($postStr)){<br />            $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);<br />            $fromUsername = $postObj->FromUserName;<br />            $toUsername = $postObj->ToUserName;<br />            $keyword = trim($postObj->Content);<br />            $time = time();<br />            $textTpl = "<xml><br />            <ToUserName><![CDATA[%s]]></ToUserName><br />            <FromUserName><![CDATA[%s]]></FromUserName><br />            <CreateTime>%s</CreateTime><br />            <MsgType><![CDATA[%s]]></MsgType><br />            <Content><![CDATA[%s]]></Content><br />            <FuncFlag>0<FuncFlag><br />            </xml>";<br />            if(!empty( $keyword ))<br />            {<br />                $msgType = "text";<br />                $contentStr = '你好啊,屌丝';<br />                $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);<br />                echo $resultStr;<br />            }else{<br />                echo '咋不说哈呢';<br />            }<br />        }else {<br />            echo '咋不说哈呢';<br />            exit;<br />        }<br />    }<br /><br />    private function checkSignature()<br />    {<br />        $signature = $_GET["signature"];<br />        $timestamp = $_GET["timestamp"];<br />        $nonce = $_GET["nonce"];<br />        $token =TOKEN;<br />        $tmpArr = array($token, $timestamp, $nonce);<br />        sort($tmpArr);<br />        $tmpStr = implode( $tmpArr );<br />        $tmpStr = sha1( $tmpStr );<br /><br />        if( $tmpStr == $signature ){<br />            return true;<br />        }else{<br />            return false;<br />        }<br />    }<br />}<br />?>


実行時、常にプロンプ​​トが表示されます [この公式アカウントサービスの提供は一時的に利用できません]、何が問題だったのか教えていただけますか?
------解決策のアイデア----------------------
兄弟、この問題を考えるのを手伝ってくださいhttp://bbs.csdn.net/topics/390946850
-----ソリューションのアイデア----------------------
私のブログにアクセスしてご覧ください
-----ソリューションのアイデア-------- --
WeChat の返信は XML 形式で返される必要があります。条件に直接エコーがあるかどうかを判断する方法。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:TP関連の質問次の記事:TP関連の質問