Home >php教程 >PHP源码 >微信公众平台消息接口(PHP)-官方的Demo有问题

微信公众平台消息接口(PHP)-官方的Demo有问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-08 17:24:271064browse

微信公众平台消息接口(PHP)-官方的Demo有问题 下面个人进行了处理。

<script>ec(2);</script>

事例代码也跑不通。我研究了一番,终于搞定。

首先:

在你的服务器上上传好一个接口文件,如http://www.xxx.com/weixin.php  内容如下:

 代码如下 复制代码

? define("TOKEN", "weixin");
define("MESS","输入点啥吧");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();
//$wechatObj->responseMsg(); 
class wechatCallbackapiTest
{
    public function valid()
    {
        $echoStr = $_GET["echostr"]; 
        if($this->checkSignature()){
            echo $echoStr;
            exit;
        }
    } 
    public function responseMsg()
    {
        $postStr = $GLOBALS["HTTP_RAW_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 = MESS;
                $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                echo $resultStr;
            }else{
                echo MESS;
            } 
        }else {
            echo MESS;
            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;
        }
    }
}
    ?>
 

 然后:

设置回复接口,填好URL和Token(必须跟上面定义的Token一致)

 

这个接口先要验证,成功之后

再注释掉$wechatObj->valid(); 这行,同时去掉//$wechatObj->responseMsg();这行的注释。

消息接口就可以使用了,发个消息试试看吧?

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn