您现在的位置:首页 >> 前端 >> 内容

微信公众号开发:素材管理

时间:2017/9/13 10:33:00 点击:

  核心提示:微信公众号开发:素材管理微信公众号在使用的接口的时候是通过media_id来进行的,所以在使用的接口的时候我们往往需要先上传素材,支持上传素材的格式和限制如下 图片(image): 2M,支持PNG\...

微信公众号开发:素材管理

微信公众号在使用的接口的时候是通过media_id来进行的,所以在使用的接口的时候我们往往需要先上传素材,支持上传素材的格式和限制如下 图片(image): 2M,支持PNG\JPEG\JPG\GIF格式。
语音(voice):2M,播放长度不超过60s,支持AMR\MP3格式。
视频(video):10MB,支持MP4格式。
缩略图(thumb):64KB,支持JPG格式。

1、上传临时素材

媒体文件在微信后台保存时间为3天,即3天后media_id失效。详细文档请查看上传临时文件素材文档。 请求接口:https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE add_tmp_media.php,这里要注意PHP各版本间上传文件的差异。
 new CURLFile(realpath("images/img1.jpg")));
} else {
    //PHP5.4及以下
    $filedata = array('media' => '@'.realpath("images/img1.jpg"));
}

$url = "https://api.weixin.qq.com/cgi-bin/media/upload?access_token=".Utils::get_access_token()."&type=image";
$result = Utils::https_request($url, $filedata);
echo $result;

返回结果如下: 微信公众号开发:素材管理

2、获取临时素材消息 请求接口:https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID 视频文件不能直接使用本接口下载。 get_tmp_media.php
$httpinfo), array("body"=> $package));
    return $imageAll;
}
返回的响应头如下: 微信公众号开发:素材管理

访问服务器上下载的文件,结果如下: 微信公众号开发:素材管理

3、新增永久素材

对于常用的素材,开发者可通过本接口上传到微信服务器,永久使用。新增的永久素材也可以在公众平台官网素材管理模块中查询管理。
除了可以上传以上提到的4种素材外,还可以上传图文素材。 以下是一些说明: 公众号的素材库保存总数量有上限:图文消息素材、图片素材上限为5000,其他类型为1000。
图文消息的具体内容中,微信后台将过滤外部的图片链接,图片url需通过"上传图文消息内的图片获取URL"接口上传图片获取。
"上传图文消息内的图片获取URL"接口所上传的图片,不占用公众号的素材库中图片数量的5000个的限制,图片仅支持jpg/png格式,大小必须在1MB以下。
图文消息支持正文中插入自己帐号和其他公众号已群发文章链接的能力。

上传图文消息内的图片

本接口所上传的图片不占用公众号的素材库中图片数量的5000个的限制。图片仅支持jpg/png格式,大小必须在1MB以下。这里的图片是在图文消息的content字段里面使用的。
接口:https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN add_news_img.php
 new CURLFile(realpath($path)));
        } else {
            //PHP5.4及以下
            $filedata = array('media' => '@'.realpath($path));
        }
        $result = Utils::https_request($url, $filedata);
        array_push($resultArr, $result);
    }

    return $resultArr;
}

返回结果如下: array(3) { [0]=> string(138) "{"url":"http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/rE2vM1t75APxcWy4fPrtqYxJfTKgnQkoql6CW1Mp9kN0ARibjyWGqCD6w8AgcHUcN7iaRKmEIcVMBXzcicibEzw31w\/0"}" [1]=> string(135) "{"url":"http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/rE2vM1t75APxcWy4fPrtqYxJfTKgnQkoK46dGsp7SJbWnDlrhaSC9ogrTC88KbXuibO8MEhCHwbxd006OmYQUxg\/0"}" [2]=> string(138) "{"url":"http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/rE2vM1t75APxcWy4fPrtqYxJfTKgnQkoSzCu2VqqL6icnbf5Uq2b86wLOzUJCO9oyOYsyh2lnEzgicibHUdeicMGoQ\/0"}" }

上传图文消息

上传图文消息的接口是:https://api.weixin.qq.com/cgi-bin/material/add_news?access_token=ACCESS_TOKEN。有关字段含义可以参考新增永久图文消息素材,此接口在测试号中一天只能调用10次。 add_news.php
 new CURLFile(realpath($path)));
        } else {
            //PHP5.4及以下
            $filedata = array('media' => '@'.realpath($path));
        }
        $result = Utils::https_request($url, $filedata);
        array_push($resultArr, $result);
    }

    return $resultArr;
}

结果如下,仅图片才有url字段返回。
array(3) { [0]=> string(210) "{"media_id":"FrsRJ3g3BHR-pIkuFLARnPz6IegQ220nYBKW4KIjzWo","url":"http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/rE2vM1t75APxcWy4fPrtqYxJfTKgnQkoUPZ1Bdf9W7ncib8AB0AQaa0LUibWYicLJ1ZbiacUdDQian9us7E5p2Rxiaiaw\/0?wx_fmt=jpeg"}" [1]=> string(205) "{"media_id":"FrsRJ3g3BHR-pIkuFLARnAte6HkrmV3Ll7zhmoGyZwE","url":"http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/rE2vM1t75APxcWy4fPrtqYxJfTKgnQkolMOlXOZazUNdDXaxTiabEB8xHDBa3lfjupHWn2vxicToxEVcfk5vRmxg\/0?wx_fmt=jpeg"}" [2]=> string(204) "{"media_id":"FrsRJ3g3BHR-pIkuFLARnDyvPgsg0lz6TKJvRMCaIhg","url":"http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/rE2vM1t75APxcWy4fPrtqYxJfTKgnQkoEXUXh2653R0tIZCdsoMq2KPvENbOGWAt0qUL9LzyqsWR2TibjKB9vVA\/0?wx_fmt=jpeg"}" }

发送视频 修改add_material.php如下:
 new CURLFile(realpath($path)));
            $filedata = array('media' => new CURLFile(realpath($path)),
                "description"=>'{"title": "111", "introduction":INTRODUCTION}');
        } else {
            //PHP5.4及以下
            //$filedata = array('media' => '@'.realpath($path));
            $filedata = array('media' => '@'.realpath($path)
            ,"description"=>'{"title": "111", "introduction":INTRODUCTION}');
        }
        $result = Utils::https_request($url, $filedata);
        array_push($resultArr, $result);
    }

    return $resultArr;
}

返回结果如下: array(1) { [0]=> string(58) "{"media_id":"FrsRJ3g3BHR-pIkuFLARnMPNEDjZn0upTAeXrqBGP5k"}" }


4、获取永久素材

在新增了永久素材后,开发者可以根据media_id通过本接口下载永久素材。公众号在公众平台官网素材管理模块中新建的永久素材,可通过"获取素材列表"获知素材的media_id。此接口不能获取临时素材。 接口:https://api.weixin.qq.com/cgi-bin/material/get_material?access_token=ACCESS_TOKEN get_material.php


返回永久图文素材如下:

{ "news_item": [ { "title": "第一个图文永久素材", "author": "Perter", "digest": "第一个图文永久素材摘要", "content": "123", "content_source_url": "https://www.baidu.com", "thumb_media_id": "FrsRJ3g3BHR-pIkuFLARnHjI9Cq9lDFas4Kp8otlAUQ", "show_cover_pic": 1, "url": "https://mp.weixin.qq.com/s?__biz=MzUzMzI2OTQ3Mw==&mid=100000013&idx=1&sn=a6d09fe2e87c320b69a284b1dee01c4b&chksm=7aa7df834dd05695e0dfa4108fee82f8734d52430f93f4e24b0077de2e1712345e7d87f25fda#rd", "thumb_url": "https://mmbiz.qpic.cn/mmbiz_jpg/rE2vM1t75ANDqb5Ud7WdHqo3oWodmOtCBPxaicWWs4Gg7kwmqx2vb3NkkuzM8iczib4qltC8GQYib4xHqXu7SwZRrw/0?wx_fmt=jpeg", "need_open_comment": 0, "only_fans_can_comment": 0 } ], "create_time": 1505139219, "update_time": 1505139219 }
返回永久视频素材如下:
{
    "title": "111",
    "description": "",
    "down_url": "https://125.39.7.29/vweixinp.tc.qq.com/1007_12f949a80e4e4271bd6763dd76d00931.f10.mp4?vkey=4C0541D9528CE21BACCE2CE8ED46405ABBE24922EBCF5CB40682B1DB1923DD2F103E6C8C4BB2E364191CE9E338874FC69ADB754B69944E03F66B5FC423F228FEB7F7FA42CF83C94EBEDB0ECE1C58C0ADA32497EA2308510B&sha=0&save=1"
}
返回永久图片素材如下,直接返回图片: 微信公众号开发:素材管理

5、删除永久素材

在新增了永久素材后,开发者可以根据本接口来删除不再需要的永久素材,节省空间。请谨慎操作本接口,因为它可以删除公众号在公众平台官网素材管理模块中新建的图文消息、语音、视频等素材(但需要先通过获取素材列表来获知素材的media_id)。临时素材无法通过本接口删除。
删除接口:https://api.weixin.qq.com/cgi-bin/material/del_material?access_token=ACCESS_TOKEN del_material.php
返回接口如下:

{"errcode":0,"errmsg":"ok"}


6、修改永久图文素材

开发者可以通过本接口对永久图文素材进行修改。也可以修改在公众平台官网素材管理模块中保存的图文消息(永久图文素材)。
接口:https://api.weixin.qq.com/cgi-bin/material/update_news?access_token=ACCESS_TOKEN update_news.php
返回结果如下:
{ "voice_count": 0, "video_count": 1, "image_count": 9, "news_count": 1 }

8、获取素材列表

在新增了永久素材后,开发者可以分类型获取永久素材的列表。获取永久素材的列表,也包含公众号在公众平台官网素材管理模块中新建的图文消息、语音、视频等素材。临时素材无法通过本接口获取。
接口:https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=ACCESS_TOKEN batchget_material.php



返回图片结果如下:

{ "item": [ { "media_id": "FrsRJ3g3BHR-pIkuFLARnHjI9Cq9lDFas4Kp8otlAUQ", "name": "/home/bae/app/images/img1.jpg", "update_time": 1505139076, "url": "https://mmbiz.qpic.cn/mmbiz_jpg/rE2vM1t75ANDqb5Ud7WdHqo3oWodmOtCBPxaicWWs4Gg7kwmqx2vb3NkkuzM8iczib4qltC8GQYib4xHqXu7SwZRrw/0?wx_fmt=jpeg" }, { "media_id": "FrsRJ3g3BHR-pIkuFLARnPV3S3ztUJSSA5BTlACflIw", "name": "/home/bae/app/images/img3.jpg", "update_time": 1505034665, "url": "https://mmbiz.qpic.cn/mmbiz_jpg/rE2vM1t75APxcWy4fPrtqYxJfTKgnQkoEXUXh2653R0tIZCdsoMq2KPvENbOGWAt0qUL9LzyqsWR2TibjKB9vVA/0?wx_fmt=jpeg" }, { "media_id": "FrsRJ3g3BHR-pIkuFLARnGfOKWyYscHpu4GuP6zrbxM", "name": "/home/bae/app/images/img2.jpg", "update_time": 1505034663, "url": "https://mmbiz.qpic.cn/mmbiz_jpg/rE2vM1t75APxcWy4fPrtqYxJfTKgnQkolMOlXOZazUNdDXaxTiabEB8xHDBa3lfjupHWn2vxicToxEVcfk5vRmxg/0?wx_fmt=jpeg" }, { "media_id": "FrsRJ3g3BHR-pIkuFLARnFQDGg4wLF0SE78VErWMwoU", "name": "/home/bae/app/images/img1.jpg", "update_time": 1505034662, "url": "https://mmbiz.qpic.cn/mmbiz_jpg/rE2vM1t75APxcWy4fPrtqYxJfTKgnQkoUPZ1Bdf9W7ncib8AB0AQaa0LUibWYicLJ1ZbiacUdDQian9us7E5p2Rxiaiaw/0?wx_fmt=jpeg" }, { "media_id": "FrsRJ3g3BHR-pIkuFLARnGmjlQO3rC7Wg4qXVzYDydY", "name": "/home/bae/app/images/img3.jpg", "update_time": 1505034395, "url": "https://mmbiz.qpic.cn/mmbiz_jpg/rE2vM1t75APxcWy4fPrtqYxJfTKgnQkoEXUXh2653R0tIZCdsoMq2KPvENbOGWAt0qUL9LzyqsWR2TibjKB9vVA/0?wx_fmt=jpeg" }, { "media_id": "FrsRJ3g3BHR-pIkuFLARnBQJiN0m3xA7G6AvPfrPmHg", "name": "/home/bae/app/images/img2.jpg", "update_time": 1505034394, "url": "https://mmbiz.qpic.cn/mmbiz_jpg/rE2vM1t75APxcWy4fPrtqYxJfTKgnQkolMOlXOZazUNdDXaxTiabEB8xHDBa3lfjupHWn2vxicToxEVcfk5vRmxg/0?wx_fmt=jpeg" }, { "media_id": "FrsRJ3g3BHR-pIkuFLARnHxkKn2u0OoAYlg7eXiUbVI", "name": "/home/bae/app/images/img1.jpg", "update_time": 1505034392, "url": "https://mmbiz.qpic.cn/mmbiz_jpg/rE2vM1t75APxcWy4fPrtqYxJfTKgnQkoUPZ1Bdf9W7ncib8AB0AQaa0LUibWYicLJ1ZbiacUdDQian9us7E5p2Rxiaiaw/0?wx_fmt=jpeg" }, { "media_id": "FrsRJ3g3BHR-pIkuFLARnAte6HkrmV3Ll7zhmoGyZwE", "name": "/home/bae/app/images/img2.jpg", "update_time": 1505031096, "url": "https://mmbiz.qpic.cn/mmbiz_jpg/rE2vM1t75APxcWy4fPrtqYxJfTKgnQkolMOlXOZazUNdDXaxTiabEB8xHDBa3lfjupHWn2vxicToxEVcfk5vRmxg/0?wx_fmt=jpeg" }, { "media_id": "FrsRJ3g3BHR-pIkuFLARnPz6IegQ220nYBKW4KIjzWo", "name": "/home/bae/app/images/img1.jpg", "update_time": 1505031094, "url": "https://mmbiz.qpic.cn/mmbiz_jpg/rE2vM1t75APxcWy4fPrtqYxJfTKgnQkoUPZ1Bdf9W7ncib8AB0AQaa0LUibWYicLJ1ZbiacUdDQian9us7E5p2Rxiaiaw/0?wx_fmt=jpeg" } ], "total_count": 9, "item_count": 9 }
返回图文结果如下:
{
    "item": [
        {
            "media_id": "FrsRJ3g3BHR-pIkuFLARnAwGsFjf8Rckbd63rFBsE4o",
            "content": {
                "news_item": [
                    {
                        "title": "第一个图文永久素材",
                        "author": "Perter",
                        "digest": "第一个图文永久素材摘要",
                        "content": "123",
                        "content_source_url": "https://www.baidu.com",
                        "thumb_media_id": "FrsRJ3g3BHR-pIkuFLARnHjI9Cq9lDFas4Kp8otlAUQ",
                        "show_cover_pic": 1,
                        "url": "https://mp.weixin.qq.com/s?__biz=MzUzMzI2OTQ3Mw==&mid=100000013&idx=1&sn=a6d09fe2e87c320b69a284b1dee01c4b&chksm=7aa7df834dd05695e0dfa4108fee82f8734d52430f93f4e24b0077de2e1712345e7d87f25fda#rd",
                        "thumb_url": "https://mmbiz.qpic.cn/mmbiz_jpg/rE2vM1t75ANDqb5Ud7WdHqo3oWodmOtCBPxaicWWs4Gg7kwmqx2vb3NkkuzM8iczib4qltC8GQYib4xHqXu7SwZRrw/0?wx_fmt=jpeg",
                        "need_open_comment": 0,
                        "only_fans_can_comment": 0
                    }
                ],
                "create_time": 1505139219,
                "update_time": 1505142464
            },
            "update_time": 1505142464
        }
    ],
    "total_count": 1,
    "item_count": 1
}






作者:网络 来源:小红帽的博客