公众号经常有需要用到一些临时性的多媒体素材的场景,例如在使用接口特别是发送消息时,对多媒体文件、多媒体消息的获取和调用等操作,是通过media_id来进行的。素材管理接口对所有认证的订阅号和服务号开放。通过本接口,公众号可以新增临时素材(即上传临时多媒体文件)。
http请求方式: POST,http://xxx.xxx.xxx/ 为自己的网站域名
http://xxx.xxx.xxx/index.php?g=Home&m=ConnectApi&a=mediaUpload
调用示例(使用curl命令,用FORM表单方式上传一个多媒体文件):
curl 'http://xxx.xxx.xxx/index.php?g=Home&m=ConnectApi&a=mediaUpload'
-F media=@test.jpg -F ConnectKey=CONNECTKEY -F access_token=ACCESS_TOKEN -F type=TYPE
参数 | 是否必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证 |
ConnectKey | 是 | 开放平台KEY |
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 | 媒体文件上传时间戳 |
错误情况下的返回JSON数据包示例如下(示例为无效媒体类型错误):
{"errcode":40004,"errmsg":"invalid media type"}
上传的临时多媒体文件有格式和大小限制,如下:
您可以使用本接口获取临时素材(即下载临时的多媒体文件)。
http请求方式: POST,http://xxx.xxx.xxx/ 为自己的网站域名
http://xxx.xxx.xxx/index.php?g=Home&m=ConnectApi&a=proxy
curl调用示例:
curl 'http://xxx.xxx.xxx/index.php?g=Home&m=ConnectApi&a=proxy'
-d 'ConnectKey=CONNECTKEY&access_token=ACCESS_TOKEN&apipath=media.get&media_id=MEDIA_ID'
参数 | 是否必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证 |
ConnectKey | 是 | 开放平台KEY |
apipath | 是 | 本接口固定为:media.get |
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
错误情况下的返回JSON数据包示例如下(示例为无效媒体ID错误):
{"errcode":40007,"errmsg":"invalid media_id"}