微信上传永久图文素材返回44003消息内容为空?

因为是做测试,所以代码都是在一个控制器的。。。

    //上传永久图文素材
    function addNews(){
        $access_token = $this->getWxAccessToken();
        $thumb_media_id=$this->addMaterial();
        $content_img=$this->addMaterialUrl();
        dump($content_img);
        $url = "https://api.weixin.qq.com/cgi-bin/material/add_news?access_token=".$access_token;
        $array = array(
                "articles" => array(                                /*若新增的是多图文素材,则此处应还有几段articles结构  */
                        "title"               => urlencode('这是一个测试的标题'),            
                        "thumb_media_id"      => $thumb_media_id,        //图文消息的封面图片素材id(必须是永久mediaID)
                        "author"              => urlencode('旭日编辑'),            //作者
                        "digest"             => urlencode('这是测试的摘要'),            //图文消息的摘要,仅有单图文消息才有摘要,多图文此处为空
                        "show_cover_pic"      => 1,            //是否显示封面,0为false,即不显示,1为true,即显示
                        "content"             => urlencode( "<h1>这是一个测试文章</h1><br /><img src='{$content_img}' /><br /><div>测试下图文素材的效果</div><br /><div>测试下图文素材的效果</div>" ),            //图文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M,且此处会去除JS
                        "content_source_url" => urlencode('http://www.网址')            //图文消息的原文地址,即点击“阅读原文”后的URL
                )
        );
        $postJson = urldecode( json_encode( $array ) );
        dump($postJson);
        $res=$this->https_request( $url ,'post', 'json', $postJson);
        dump($res);
        return $res;
    }

以下分别是打印三个值的结果
1.图片的url
2.转码过的数组
3.调用接口后的结果

clipboard.png

Html标签属性我用的是单引号,比如图片src,就不用转移了啊htmlspecialchars(str_replace(""","'",$v))
看官方说content可以用html标签的,内容为空难道和我content使用html标签有关吗...

阅读 3.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题