微信公众号的配置

微信公众号接口验证与消息响应
本文介绍如何通过设置口令和随机字符串来验证微信公众号的接口,并实现从微信接收消息及向用户发送回应的过程。文章详细展示了如何利用PHP代码进行URL和Token的配置、消息验证及回复。

首先创建自己的微信公众号。如若要匹配。首先必须要有口令,定义口令。还需要有随机数,随机字符串。

然后在入口文件里面定义相关的信息,然后进行相应的配置。然后进入微信公众平台,进行填写url,还有token

口令进行匹配。

public function valid()
    {
        if(isset($_GET["echostr"]) && $this->checkSignature()){
            $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 ))
                {
                $contentStr = $this->keyword($keyword);
                    $msgType = "text";
                    // $contentStr = "Welcome to wechat world!";
                    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                    echo $resultStr;
                }else{
                    echo "Input something...";
                }


        }else {
            echo "";
            exit;
        }

    }

然后在进行发送者给微信公众号,回复相应信息。

private function keyword($keyword){
    if($keyword == "天气"){
    return "今天天气不错";
    }else if($keyword == "你好"){
    return "很好!";
    }else{
    return "次关键字不存在";
    }
    }



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值