Nivelle 开拓视野冲破艰险看见世界 身临其境贴近彼此感受生活

微信服务号开发之素材管理

2017-08-07
nivelle

新增临时素材

公众号经常有需要用到一些临时性的多媒体素材的场景,例如在使用接口特别是发送消息时,对多媒体文件、多媒体消息的获取和调用等操作,是通过media_id来进行的。素材管理接口对所有认证的订阅号和服务号开放。通过本接口,公众号可以新增临时素材(即上传临时多媒体文件)。

注意点:

  1. 临时素材media_id是可复用的。
  2. 媒体文件在微信后台保存时间为3天,即3天后media_id失效。
  3. 传临时素材的格式、大小限制与公众平台官网一致。(图片(image):2M,支持PNG\JPEG\JPG\GIF格式,语音(voice):2M,播放长度不超过60s,支持AMR\MP3格式,视频(video):10MB,支持MP4格式,缩略图(thumb):64KB,支持JPG格式)

接口地址:

http请求方式:POST/FORM,使用https

https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE

调用示例(使用curl命令,用FORM表单方式上传一个多媒体文件):

curl -F media=@test.jpg

"https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE"

参数 描述
access_token 调用接口凭证
type 媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)
media form-data中媒体文件标识,有filename、filelength、content-type等信息

返回数据包:


{"type":"TYPE","media_id":"MEDIA_ID","created_at":123456789}

参数 描述
type 媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb,主要用于视频与音乐格式的缩略图)
media_id 媒体文件上传后,获取标识
created_at 媒体文件上传时间戳

获取临时素材

公众号可以使用本接口获取临时素材(即下载临时的多媒体文件)。请注意,视频文件不支持https下载,调用该接口需http协议。

本接口即为原“下载多媒体文件”接口。

http请求方式: GET,https调用
https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID

请求示例(示例为通过curl命令获取多媒体文件)
curl -I -G "https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID"

参数 描述
access_token 调用接口凭证
media_id 媒体文件ID

正确情况下的返回HTTP头如下:

HTTP/1.1 200 OK
Connection: close
Content-Type: image/jpeg 
Content-disposition: attachment; filename="MEDIA_ID.jpg"
Date: Sun, 06 Jan 2013 10:20:18 GMT
Cache-Control: no-cache, must-revalidate
Content-Length: 339721
curl -G "https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID"

若是视频消息,则内容如下:

{
 "video_url":DOWN_URL
}


评论