同步上传课件

接口描述

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文件必须同时上传

请求参数描述

参数名必选类型说明

userid

true

String

保利威点播账户id,可以参考【获取密钥】获取,获取路径:官网->登录->点播(API接口)

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二进制流上传至服务器端

响应参数描述

参数名类型说明

code

Integer

响应状态码,200为成功返回,非200为失败【详见全局错误说明

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