异步上传课件
接口描述
1、通过视频id异步上传课件,支持ppt、pptx及pdf文件格式
2、接口URL中的{userid}为点播账号userid,具体参考菜单【使用须知】->【获取密钥】
3、接口支持https协议
接口URL
http://api.polyv.net/v2/video/{userid}/uploadPPT/asyn
请求方式
POST
接口约束
1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看
请求参数描述
参数名
必选
类型
说明
ptime
true
Long
当前时间的毫秒级时间戳,3分钟内有效
sign
true
String
签名,为40位大写的SHA1值,生成签名的secretkey密钥作为通信数据安全的关键信息,严禁保存在客户端直接使用,所有API都必须通过客户自己服务器中转调用POLYV服务器获取响应数据
【详见签名生成规则】
vid
true
String
视频id,例如:1b448be323dec2a7bed6db61bd7d8a77_1
courseware
true
File
课件文件,支持ppt、pptx、pdf格式,文件大小不能超过50M
format
false
String
返回的数据格式,默认返回json格式 xml:返回xml格式 json:返回json格式
示例
http://api.polyv.net/v2/video/1b448be323/uploadPPT/asyn
表单参数:
vid=1b448be3239482977934f099f2ceaa0a_1&format=json&sign=F3BAA6F7687AEBEEDACC70F25A79E65D582D1D09&ptime=1617672685886
课件文件随HTTP二进制流上传至服务器端
响应参数描述
参数名
类型
说明
status
String
响应状态文本信息
message
String
响应描述信息,当code为400或者500的时候,辅助描述错误原因
data
String
响应成功时返回ppt上传成功,响应失败时返回空
回调说明
接口只返回上传结果,课件转换处理结果,需要通过回调获取,【详见回调通知使用说明】
Java请求示例
HttpUtil.java 和 VodSignUtil.java 基础代码请点击下载本地 或跳转到基础代码在线获取
private static final Logger log = LoggerFactory.getLogger(VodVideoCourseWare.class);
/**
* 异步上传课件
*/
@Test
public void testUploadCourseWareAsync() throws Exception, NoSuchAlgorithmException {
//公共参数,填写自己的实际参数
String secretKey = super.secretKey;
String userid = super.userId;
String ptime = String.valueOf(System.currentTimeMillis());
//业务参数
String url = String.format("http://api.polyv.net/v2/video/%s/uploadPPT/asyn", userid);
String vid = "1b448be32303e4922a8f70d6b48220ae_1";
String format = "json";
String pptFilePath = getClass().getResource("/file/").getPath() + "Courseware.ppt";
File courseware = new File(pptFilePath);
Map<String, String> requestMap = new HashMap<>();
requestMap.put("ptime", ptime);
requestMap.put("vid", vid);
requestMap.put("format", format);
Map<String, File> fileMap = new HashMap<>();
fileMap.put("courseware", courseware);
requestMap.put("sign", VodSignUtil.getSign(requestMap, secretKey));
String response = HttpUtil.postFile(url, requestMap, fileMap, Constant.UTF8);
log.debug("测试异步上传课件,{}", response);
//do somethings
}
响应示例
系统全局错误说明详见全局错误说明
成功示例
{
"code": 200,
"status": "success",
"message": "success",
"data": "ppt上传成功"
}
异常示例
返回错误json
{
"code":400,
"status":"error",
"message":"sign can not be empty.",
"data":""
}
上传文件大小不能超过50M
{
"code":400,
"status":"error",
"message":"ppt文件不能超过50M",
"data":""
}
文件类型错误
{
"code":400,
"status":"error",
"message":"文件类型必须为ppt、pptx或pdf",
"data":""
}
当视频已关联课件,并且在转码中,则不允许上传。
{
"code":400,
"status":"error",
"message":"当前vid关联的课件正在转码中,请稍后再试。",
"data":""
}
Last updated
Was this helpful?