异步上传课件

接口描述

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 确保接口安全,接口调用有频率限制,详细请查看

请求参数描述

参数名必选类型说明

userid

true

String

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

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

响应参数描述

参数名类型说明

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 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