收藏
回答

微信公众号开发 关注 取消关注 没有回调数据

微信公众号开发 在开发的基本配置中已经成功 “服务器配置(已启用)”,为什么点击关注微信公众号,和取消关注 在我们服务器接口中收不到任何数据,方法入口处的日志也没有任何数据。


在微信输入数据显示 “该公众号提供的服务器出现故障,请稍后再试”。

回答关注问题邀请回答
收藏

3 个回答

  • 大地
    大地
    08-12

    我这边遇到的问题是,关注和取消关注公众号有正常回调,但是用户发送消息给公众号却没有回调。但是在文档中提供的页面调试功能,却能正确回调。请问是公众号配置问题吗?

    以下是在文档提供的页面调试功能,如图调试是有回调的

    08-12
    有用
    回复
  • SONDER
    SONDER
    2020-12-12

    解决了吗?我这边解析xml报错,读取的输入流是空的

    2020-12-12
    有用
    回复 1
    • 靡不有初
      靡不有初
      07-02
      请问你有解决这个问题吗
      07-02
      回复
  • 匠心
    匠心
    2020-12-04
    public function index(){
        //获得参数 signature nonce token timestamp echostr
        $nonce     = $_GET['nonce'];
        $token     = 'laoweiread';
        $timestamp = $_GET['timestamp'];
        $echostr   = $_GET['echostr'];
        $signature = $_GET['signature'];
        //形成数组,然后按字典序排序
        $array = array();
        $array = array($nonce, $timestamp, $token);
        sort($array);
        //拼接成字符串,sha1加密 ,然后与signature进行校验
        $str = sha1( implode( $array ) );
        if( $str  == $signature && $echostr ){
            //第一次接入weixin api接口的时候
            logs('Wechat','1',1);
            echo  $echostr;
            exit;
        }else{
            logs('Wechat','2',1);
            $this->reponseMsg();
        }
    }
    // 接收事件推送并回复
    public function reponseMsg()
    {
        //1.获取到微信推送过来post数据(xml格式)
        $postArr = $GLOBALS['HTTP_RAW_POST_DATA'];
        //2.处理消息类型,并设置回复类型和内容
        $postObj = simplexml_load_string($postArr);
        //判断该数据包是否是订阅的事件推送
        if (strtolower($postObj->MsgType) == 'event') {
            //如果是关注 subscribe 事件
            if (strtolower($postObj->Event == 'subscribe')) {
                //回复用户消息(纯文本格式)
                $toUser = $postObj->FromUserName;
                $fromUser = $postObj->ToUserName;
                $time = time();
                $msgType = 'text';
                $content = '欢迎关注我们的微信公众账号' . $postObj->FromUserName . '-' . $postObj->ToUserName;
                $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;
            }
        }
    



    就一个demo的代码,最基本的功能

    2020-12-04
    有用
    回复
登录 后发表内容
问题标签