同步上传课件
接口描述
1、通过视频id上传课件,支持ppt、pptx及pdf文件格式
2、接口URL中的{userid}为点播账号userid,具体参考菜单【使用须知】->【获取密钥】
3、接口支持https协议
接口URL
http://api.polyv.net/v2/video/{userid}/uploadPPT
请求方式
POST
接口约束
1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看
2、ppt文件和txt文件必须同时上传
请求参数描述
参数名
必选
类型
说明
ptime
true
Long
当前时间的毫秒级时间戳,3分钟内有效
sign
true
String
签名,为40位大写的SHA1值,生成签名的secretkey密钥作为通信数据安全的关键信息,严禁保存在客户端直接使用,所有API都必须通过客户自己服务器中转调用POLYV服务器获取响应数据
【详见签名生成规则】
vid
true
String
视频id,例如:1b448be323dec2a7bed6db61bd7d8a77_1
ppt
true
File
课件文件,支持ppt、pptx、pdf格式,文件大小不能超过50M
txt
true
File
控制视频播放到第几秒时显示课件的某页,文件格式为txt,txt文件必须是UTF-8的编码格式,否则课件的章节标题会显示为乱码
format
false
String
返回的数据格式,默认返回json格式 xml:返回xml格式 json:返回json格式
txt文件格式示例如下,每一行为:“视频中的秒数”+“:”+“标题”
10:第十秒出现标题
21:第二十秒出现标题
30:第三十秒出现标题
示例
http://api.polyv.net/v2/video/1b448be323/uploadPPT
表单参数:
vid=1b448be323fb327a42539cbb788913b4_1&format=json&sign=173B5BBA359A47A8FD00FD671CB87EAE492052BF&ptime=1617332188260
课件文件随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 testUploadCourseWareSync() 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",userid);
String vid = "1b448be323fb327a42539cbb788913b4_1";
String format = "json";
String pptFilePath = getClass().getResource("/file/").getPath() + "class.pptx";
String pptControlPath = getClass().getResource("/file/").getPath() + "pptControl.txt";
File ppt = new File(pptFilePath);
File txt = new File(pptControlPath);
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("ppt",ppt);
fileMap.put("txt",txt);
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上传成功"
}
异常示例
{
"code": 400,
"status": "error",
"message": "sign can not be empty.",
"data": ""
}
Last updated
Was this helpful?