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

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

WBOY
WBOYasal
2016-06-08 17:24:27990semak imbas

微信公众平台消息接口(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();这行的注释。

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn