跳转至

素材管理

主动调用通用参数请参阅全局说明

SDK示例:https://github.com/youduim/youdu-sdk-java

支持素材上传、下载、查询

上传素材文件

POST请求URL:http://[SERVER:7080]/cgi/media/upload?accessToken=$accessToken

[SERVER:7080]指连接的服务器地址,如:http://[SERVER:7080]/cgi/media/upload?accessToken=$accessToken
参数 必须 说明
请求格式 采用multipart-form方式上传
buin 企业号。表单值
appId 应用AppId。表单值
encrypt 加密消息体。表单值
file 素材文件。表单值,任意类型的素材统一用file作为表单名,加密后上传,加密方式详见加解密说明

encrypt加密前数据格式:

{
  "type": "$media_type",
  "name": "$media_name"
}
参数 必须 说明
type 素材类型。image代表图片、file代表普通文件、voice代表语音、video代表视频
name 素材名称

结果返回

{
  "mediaId": "$media_id"
}
参数 说明
mediaId 素材媒体文件ID

下载素材文件

POST请求URL:http://[SERVER:7080]/cgi/media/get?accessToken=$accessToken

[SERVER:7080]指连接的服务器地址,如:http://[SERVER:7080]/cgi/media/get?accessToken=$accessToken

请求数据格式

{
  "mediaId": "$media_id"
}
参数 必须 说明
mediaId 素材文件ID

成功时结果返回(特殊,非json格式)

body里为文件二进制数据
{
 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
 encrypt: "$encrypt" //encrypt为自定义的参数,在header中返回

//以下为http body,是加密后的文件二进制数据
 media_file_bytes
}

encrypt 解密后数据格式为:

{
   "name": "$media_name",
   "size": $media_size
}
参数 说明
name 文件名称
size 文件大小

失败时返回

全局错误码

查询素材文件信息

POST请求URL:http://[SERVER:7080]/cgi/media/search?accessToken=$accessToken

[SERVER:7080]指连接的服务器地址,如:http://[SERVER:7080]/cgi/media/search?accessToken=$accessToken

请求数据格式为:

{
    "mediaId": "$media_id"
}
参数 必须 说明
mediaId 素材文件ID

返回:

{
   "name": "file_name",
   "size": 2048
}
参数 说明
name 素材文件名称
size 素材文件大小