微信公众号的那些坑

作者: hey_沙子 | 来源:发表于2016-12-09 16:37 被阅读64次

    最近这段时间做了一个公众号的项目,从一点不会,到现在整个项目打通了,这其中当然经历了不少坑。下面我就和大家分享一下我遇到的那些坑:

    微信公众号服务器配置提交url失败

    开发者验证signature时,token、timestamp、nonce这三个参数大家并不陌生吧,但还有一个参数大家可不能忽视,那就是 echostr,首次验证一定要明文输出echostr,并exit ,不然在服务器配置的地方很有可能提交url不成功

    public function valid(){
    
       $echoStr = Yii::$app->request->get('echostr');
    
       if($this->checkSignature()){
    
            echo $echoStr;
    
            exit;
    
        }
    
    }
    

    微信公众平台接收不到消息

    $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
    

    $GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA
    变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。也就是说基本上$GLOBALS['HTTP_RAW_POST_DATA']$_POST是一样的。
    此时我们可以试试

     $postStr = file_get_contents('php://input');
    

    用户关注公众号得到openid存到cookie获取不到

    只能关注后得到openid存到数据库里,这样以后就可以查库了。开始我傻傻的在这里存cookie,发现怎么也拿不到cookie值。后来才知道关注是推送xml到服务器,不是直接访问服务器,放cookie里是不管用的,除非在回复消息里面带着用户信息

    微信分享提示:{“errMsg”:“config: invalid url domain”}

    登录公众平台,点击右上角的公众号进入公众号设置,里面有个功能设置,把你要分享的域名填写到“JS接口安全域名”保存。注意:填写的是字符串格式
    例如域名为:http://www.abc.com
    你应该写成www.abc.com
    还有一种可能是你公众号的配置里面没有写你需要分享的域名

    微信分享到朋友圈获取不到自定义信息和分享成功后不回调

    如果有哪里不对,希望大家提出以免误导其他人

    相关文章

      网友评论

        本文标题:微信公众号的那些坑

        本文链接:https://www.haomeiwen.com/subject/epaemttx.html