微信公众号死活无法回复信息,求指点!

发布于 2022-09-07 12:31:53 字数 1494 浏览 15 评论 0

刚开始学习公众号开发,按照慕课网的教程,前面服务器验证部分已经成功,后面回复信息部分怎么调在微信上都无法收到回复信息,求大神帮忙看看哪儿有问题,感激不尽!

<?php
//以下为服务器验证,已经验证成功
//1. 排序
$timestamp = $_GET['timestamp'];
$nonce = $_GET['nonce'];
$token = 'weixin';
$signature = $_GET['signature'];
$array = array($timestamp,$nonce,$token);
sort($array);

//2. 加密
$tmpstr = implode('',$array);
$tmpstr = sha1($tmpstr);

//3. 对比
if ($tmpstr == $signature AND $_GET['echostr']) {
echo $_GET['echostr'];
exit;
}else{
responseMsg();
}

//以下是回复信息的部分,实在不知道为什么没有反应

public function responseMsg(){
    $postArr = $GLOBALS['HTTP_RAW_POST_DATA'];
    $postObj = simplexml_load_string($postArr);
    
    if (strtolower($postObj->MsgType) == 'event'){
        if (strtolower($postObj->Event) == 'subscribe'){
        
            $toUser = $postObj->FromUserName;
            $fromUser = $postObj->toUserName;
            $time = time();
            $msgType = 'text';
            $content = '欢迎关注';
            $template = "<xml> 
            <ToUserName>< ![CDATA[%s] ]></ToUserName> 
            <FromUserName>< ![CDATA[%s] ]></FromUserName> 
            <CreateTime>%s</CreateTime> 
            <MsgType>< ![CDATA[%s] ]></MsgType> 
            <Content>< ![CDATA[%s] ]></Content> 
            </xml>";
            $info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content);
            echo $info;
        }
    }
}
?>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

幻想少年梦 2022-09-14 12:31:53

非常感谢两位的帮助,后面我发现,错误的原因是回复模板里面的叹号两边各多了一个空格,导致无法回复成功。。。。。感谢两位!

2022-09-14 12:31:53

楼主你那个回复消息的函数写错位置了,不应该写在3.对比里面的else,应该写在服务器验证部分的后面

盛夏已如深秋| 2022-09-14 12:31:53

if后面的else去掉,直接调用那个函数就行了!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文