Sub Account Service
1、搜索视频
描述
通过视频标题、分类、标签等条件查找视频
接口地址(仅做说明使用):https://api.polyv.net//v3/video/list-video
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testSearchVideoList() throws IOException, NoSuchAlgorithmException {
VodSubAccountSearchVideoListRequest vodSubAccountSearchVideoListRequest =
new VodSubAccountSearchVideoListRequest();
VodSubAccountSearchVideoListResponse vodSubAccountSearchVideoListResponse = null;
try {
vodSubAccountSearchVideoListRequest.setCategoryId("1602300731843")
.setTitle("学习英语")
.setUploader("主账号")
.setStatus("61")
.setContainSubCate("Y")
.setStartTime(super.getDate(2021, 1, 4, 10, 35))
.setEndTime(super.getDate(2021, 2, 5, 10, 35))
.setSort("creationTimeDesc")
//设置子账号相关
.setAppId(APP_ID)
.setSecretKey(SECRET_KEY);
vodSubAccountSearchVideoListResponse = new VodSubAccountServiceImpl().searchVideoList(
vodSubAccountSearchVideoListRequest);
Assert.assertNotNull(vodSubAccountSearchVideoListResponse);
if (vodSubAccountSearchVideoListResponse != null) {
log.debug("测试搜索视频成功,{}", JSON.toJSONString(vodSubAccountSearchVideoListResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回VodSubAccountSearchVideoListResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.VodxxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
categoryId
false
String
视频分类ID【对应api文档的cataId字段】
title
false
String
按标题搜索
uploader
false
String
上传者
status
false
String
视频状态码;60/61:已发布;10:等待编码;20:正在编码;50:等待审核;51:审核不通过;-1:已删除;
containSubCate
false
String
是否包含子分类, Y 包含, N 不包含
startTime
false
Date
按创建时间范围查询,起始时间,格式为yyyy-MM-dd HH:mm:ss
endTime
false
Date
结束时间,格式为yyyy-MM-dd HH:mm:ss
sort
false
String
排序creationTimeDesc或creationTimeAsc
appId
true
String
子账号appId
secretKey
true
String
子账号secretKey
currentPage
false
Integer
页数,默认为1【对应api文档的page字段】
pageSize
false
Integer
每页显示的数据条数,默认每页显示20条数据
返回对象描述
pageSize
Integer
每页显示的数据条数,默认每页显示20条数据
currentPage
Integer
当前页【对应api文档的pageNumber字段】
totalItems
Integer
记录总条数
totalPage
Integer
总页数【对应api文档的totalPages字段】
videoId
String
视频id【对应api文档的vid字段】
title
String
视频标题
description
String
视频描述
duration
Integer
源视频时长,单位:秒
coverURL
String
首图地址,大图
creationTime
Date
创建时间
updateTime
Date
更新时间
size
Long
源文件大小,单位:Bytes
status
Integer
视频状态码;60/61:已发布;10:等待编码;20:正在编码;50:等待审核;51:审核不通过;-1:已删除;
categoryId
String
分类id, 如1为根目录【对应api文档的cateId字段】
categoryName
String
分类名称【对应api文档的cateName字段】
tags
String
标签
uploader
String
上传者
2、查询视频信息
描述
通过视频id查询视频信息
接口地址(仅做说明使用):https://api.polyv.net//v3/video/get-video-info
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testGetVideoInfo() throws IOException, NoSuchAlgorithmException {
VodSubAccountQueryVideoInfoRequest vodSubAccountQueryVideoInfoRequest =
new VodSubAccountQueryVideoInfoRequest();
List<VodSubAccountQueryVideoInfoResponse> vodSubAccountQueryVideoInfoResponseList = null;
try {
vodSubAccountQueryVideoInfoRequest.setVideoIds(super.getTestVideoId())
.setFilters("basicInfo,metaData,transcodeInfo,snapshotInfo")
//设置子账号相关
.setAppId(APP_ID)
.setSecretKey(SECRET_KEY);
vodSubAccountQueryVideoInfoResponseList = new VodSubAccountServiceImpl().getVideoInfo(
vodSubAccountQueryVideoInfoRequest);
Assert.assertNotNull(vodSubAccountQueryVideoInfoResponseList);
if (vodSubAccountQueryVideoInfoResponseList != null) {
log.debug("测试查询视频信息,{}", JSON.toJSONString(vodSubAccountQueryVideoInfoResponseList));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回VodSubAccountQueryVideoInfoResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.VodxxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
videoIds
true
String
视频ID,多个视频ID用英文逗号分隔(状态为半角),例如 1b8be3,239c2e【对应api文档的vids字段】
filters
false
String
选择需要返回的视频信息,多个以英文逗号分隔(状态为半角,例如 basicInfo,metaData),取值:basicInfo,metaData,transcodeInfo,snapshotInfo, 分别代表基础信息、元数据、转码信息、截图信息,为空则返回基础信息【对应api文档的filter字段】
appId
true
String
子账号appId
secretKey
true
String
子账号secretKey
返回对象描述
返回对象是List<VodSubAccountQueryVideoInfoResponse>,VodSubAccountQueryVideoInfoResponse具体元素内容如下:
videoId
String
视频id【对应api文档的vid字段】
title
String
视频标题
description
String
视频描述
duration
Integer
源视频时长,单位:秒
coverURL
String
首图地址,大图
creationTime
Date
创建时间
updateTime
Date
更新时间
size
Long
源文件大小,单位:Bytes
status
Integer
视频状态码;60/61:已发布;10:等待编码;20:正在编码;50:等待审核;51:审核不通过;-1:已删除;
categoryId
String
分类id, 如1为根目录【对应api文档的cateId字段】
categoryName
String
分类名称【对应api文档的cateName字段】
tags
String
标签
uploader
String
上传者
playUrl
String
播放地址
definition
String
清晰度,SOURCE:原清晰度,LD:普清,SD:标清,HD:高清
duration
Integer
时长,秒
encrypt
Boolean
加密视频为true,非加密为false
format
String
转码格式,如mp4、flv、pdx、hls
fps
Integer
视频帧率
bitrate
Integer
码率kbps
height
Integer
分辨率高,单位:px
width
Integer
分辨率宽,单位:px
status
String
视频状态, normal:可以正常播放,unavailable:不能正常播放
fileSize
Long
编码后视频大小,单位:字节
size
Long
源文件大小,单位:Bytes
format
String
视频容器类型,如mp4、flv等
duration
Integer
源视频时长,单位:秒
bitrate
Integer
视频码率,单位:bps
fps
Integer
视频帧率
height
Integer
分辨率高,单位:px
width
Integer
分辨率宽,单位:px
codec
String
编码格式,如h264、h265等
imageUrl
Array
截图url数组
3、修改视频信息
描述
通过视频id修改视频信息
接口地址(仅做说明使用):https://api.polyv.net//v3/video/update-info
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testUpdateVideoInfo() throws IOException, NoSuchAlgorithmException {
VodSubAccountUpdateVideoInfoRequest vodSubAccountUpdateVideoInfoRequest =
new VodSubAccountUpdateVideoInfoRequest();
Boolean vodUpdateVideoInfoResponse = null;
try {
vodSubAccountUpdateVideoInfoRequest.setVideoId(super.getTestVideoId())
.setDesc("这是一个通过junit合并的视频_1")
.setTag("junit测试_1")
.setPublishUrl(null)
//设置子账号相关
.setAppId(APP_ID)
.setSecretKey(SECRET_KEY);
vodUpdateVideoInfoResponse = new VodSubAccountServiceImpl().updateVideoInfo(
vodSubAccountUpdateVideoInfoRequest);
Assert.assertTrue(vodUpdateVideoInfoResponse);
if (vodUpdateVideoInfoResponse) {
log.debug("测试修改视频信息成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.VodxxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
videoId
true
String
视频ID【对应api文档的vid字段】
title
false
String
视频标题
desc
false
String
视频描述【对应api文档的describ字段】
tag
false
String
视频标签信息
publishUrl
false
String
外链地址
appId
true
String
子账号appId
secretKey
true
String
子账号secretKey
返回对象描述
true为修改成功,false为修改失败
4、删除视频
描述
通过视频id删除视频
接口地址(仅做说明使用):https://api.polyv.net//v3/video/delete-video
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testDeleteVideo() throws IOException, NoSuchAlgorithmException {
VodSubAccountDeleteVideoRequest vodSubAccountDeleteVideoRequest = new VodSubAccountDeleteVideoRequest();
Boolean vodDeleteVideoResponse = null;
try {
vodSubAccountDeleteVideoRequest.setVideoId("1b448be3238415eee2fa40753737255b_1")
//设置子账号相关
.setAppId(APP_ID).setSecretKey(SECRET_KEY);
vodDeleteVideoResponse = new VodSubAccountServiceImpl().deleteVideo(vodSubAccountDeleteVideoRequest);
Assert.assertTrue(vodDeleteVideoResponse);
if (vodDeleteVideoResponse) {
log.debug("删除视频成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.VodxxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
videoId
true
String
视频ID【对应api文档的vid字段】
appId
true
String
子账号appId
secretKey
true
String
子账号secretKey
返回对象描述
true为删除视频成功,false为删除视频失败
5、新增视频分类
描述
通过分类名等参数新增视频分类
接口地址(仅做说明使用):https://api.polyv.net//v3/category/add
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testAddCategory() throws IOException, NoSuchAlgorithmException {
VodSubAccountAddCategoryRequest vodSubAccountAddCategoryRequest = new VodSubAccountAddCategoryRequest();
String vodDeleteVideoResponse = null;
try {
vodSubAccountAddCategoryRequest.setName("junit测试新增分类20210309").setParentId(null)
//设置子账号相关
.setAppId(APP_ID).setSecretKey(SECRET_KEY);
vodDeleteVideoResponse = new VodSubAccountServiceImpl().addCategory(vodSubAccountAddCategoryRequest);
Assert.assertNotNull(vodDeleteVideoResponse);
if (vodDeleteVideoResponse != null) {
log.debug("新增视频分类成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回String对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.VodxxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
name
true
String
分类名
parentId
false
String
父分类id, 默认位1, 放在根目录下
appId
true
String
子账号appId
secretKey
true
String
子账号secretKey
返回对象描述
新增成功返回新增的分类id
6、查询视频分类
描述
通过分类id查询视频分类
接口地址(仅做说明使用):https://api.polyv.net//v3/category/get
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testQueryCategory() throws IOException, NoSuchAlgorithmException {
VodSubAccountQueryCategoryRequest vodSubAccountQueryCategoryRequest = new VodSubAccountQueryCategoryRequest();
VodSubAccountQueryCategoryResponse vodSubAccountQueryCategoryResponse = null;
try {
vodSubAccountQueryCategoryRequest.setCategoryId("1608891483165")
//设置子账号相关
.setAppId(APP_ID).setSecretKey(SECRET_KEY).setCurrentPage(1).setPageSize(20);
vodSubAccountQueryCategoryResponse = new VodSubAccountServiceImpl().queryCategory(
vodSubAccountQueryCategoryRequest);
Assert.assertNotNull(vodSubAccountQueryCategoryResponse);
if (vodSubAccountQueryCategoryResponse != null) {
log.debug("测试查询视频分类成功,{}", JSON.toJSONString(vodSubAccountQueryCategoryResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回VodSubAccountQueryCategoryResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.VodxxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
categoryId
true
String
分类id【对应api文档的cateId字段】
appId
true
String
子账号appId
secretKey
true
String
子账号secretKey
currentPage
false
Integer
页数,默认为1【对应api文档的page字段】
pageSize
false
Integer
每页显示的数据条数,默认每页显示20条数据
返回对象描述
subCategoryTotal
Integer
下一级子分类个数
categoryId
String
分类id【对应api文档的cateId字段】
categoryName
String
分类名称【对应api文档的cateName字段】
parentId
String
父分类id
7、修改视频分类
描述
修改视频分类
接口地址(仅做说明使用):https://api.polyv.net//v3/category/update-info
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testUpdateCategory() throws IOException, NoSuchAlgorithmException {
VodSubAccountUpdateCategoryRequest vodSubAccountUpdateCategoryRequest =
new VodSubAccountUpdateCategoryRequest();
Boolean vodUpdateCategoryResponse = null;
try {
vodSubAccountUpdateCategoryRequest.setCategoryId("1602671097888").setCategoryName("勿删分类-"+super.getRandomString(4))
//设置子账号相关
.setAppId(APP_ID).setSecretKey(SECRET_KEY);
vodUpdateCategoryResponse = new VodSubAccountServiceImpl().updateCategory(
vodSubAccountUpdateCategoryRequest);
Assert.assertTrue(vodUpdateCategoryResponse);
if (vodUpdateCategoryResponse) {
log.debug("修改视频分类成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.VodxxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
categoryId
true
String
分类id【对应api文档的cateId字段】
categoryName
true
String
分类名称【对应api文档的cateName字段】
appId
true
String
子账号appId
secretKey
true
String
子账号secretKey
返回对象描述
true为修改成功,false为修改失败
8、删除视频分类
描述
通过视频分类id删除视频分类
接口地址(仅做说明使用):https://api.polyv.net//v3/category/delete
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testDeleteCategory() throws IOException, NoSuchAlgorithmException {
VodSubAccountDeleteCategoryRequest vodSubAccountDeleteCategoryRequest =
new VodSubAccountDeleteCategoryRequest();
Boolean vodDeleteCategoryResponse = null;
try {
//生成测试数据
String categoryId = super.addCategoryOther();
vodSubAccountDeleteCategoryRequest.setCategoryId(categoryId)
//设置子账号相关
.setAppId(APP_ID).setSecretKey(SECRET_KEY);
vodDeleteCategoryResponse = new VodSubAccountServiceImpl().deleteCategory(
vodSubAccountDeleteCategoryRequest);
Assert.assertTrue(vodDeleteCategoryResponse);
if (vodDeleteCategoryResponse) {
log.debug("删除视频分类成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.VodxxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
categoryId
true
String
分类id【对应api文档的cateId字段】
appId
true
String
子账号appId
secretKey
true
String
子账号secretKey
返回对象描述
true为删除成功,false为删除失败
9、批量修改视频所属分类
描述
通过视频id批量修改视频所属分类
接口地址(仅做说明使用):https://api.polyv.net//v3/video/update-category
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testUpdateVideoCategory() throws IOException, NoSuchAlgorithmException {
VodSubAccountUpdateVideoCategoryRequest vodSubAccountUpdateVideoCategoryRequest =
new VodSubAccountUpdateVideoCategoryRequest();
Boolean vodUpdateVideoCategoryResponse = null;
try {
vodSubAccountUpdateVideoCategoryRequest.setVideoIds(super.getTestVideoId()).setCategoryId("1602300731843")
//设置子账号相关
.setAppId(APP_ID)
.setSecretKey(SECRET_KEY);
vodUpdateVideoCategoryResponse = new VodSubAccountServiceImpl().updateVideoCategory(
vodSubAccountUpdateVideoCategoryRequest);
Assert.assertTrue(vodUpdateVideoCategoryResponse);
if (vodUpdateVideoCategoryResponse) {
log.debug("批量修改视频所属分类成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.VodxxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
videoIds
true
String
视频ID串,多个视频ID之间用英文逗号分隔(状态为半角),例如 1b8be3,239c2e【对应api文档的vids字段】
categoryId
false
String
视频分类ID【对应api文档的cateId字段】
appId
true
String
子账号appId
secretKey
true
String
子账号secretKey
返回对象描述
true为修改成功,false为修改失败
10、修改视频分类属性设置
描述
通过分类id修改视频分类属性设置
接口地址(仅做说明使用):https://api.polyv.net//v3/category/update-profile
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testUpdateCategoryProfile() throws IOException, NoSuchAlgorithmException {
VodSubAccountUpdateCategoryProfileRequest vodSubAccountUpdateCategoryProfileRequest =
new VodSubAccountUpdateCategoryProfileRequest();
Boolean vodUpdateCategoryProfileResponse = null;
try {
vodSubAccountUpdateCategoryProfileRequest.setCategoryId("1615286323771")
.setEnabled("Y")
.setKeepSource(0)
.setEncrypt(0)
.setEncryptLevel("open")
.setIsEdu(0)
.setEncodeAAC(0)
//设置子账号相关
.setAppId(APP_ID)
.setSecretKey(SECRET_KEY);
vodUpdateCategoryProfileResponse = new VodSubAccountServiceImpl().updateCategoryProfile(
vodSubAccountUpdateCategoryProfileRequest);
Assert.assertTrue(vodUpdateCategoryProfileResponse);
if (vodUpdateCategoryProfileResponse) {
log.debug("修改视频分类属性设置成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.VodxxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
categoryId
true
String
分类id【对应api文档的cateId字段】
enabled
false
String
是否启用分类设置 Y:启用, N:关闭,默认值为N:关闭
keepSource
false
Integer
1:源文件播放;0:非源文件播放,如果为源文件播放,encrypt、encryptLevel、isEdu、encodeAAC参数不生效,默认值为0:非源文件播放
encrypt
false
Integer
1:开启视频加密,0:不加密,默认值为0:不加密
encryptLevel
false
String
加密等级,取值有: open、web、app、wxa_app,分别代表非加密授权,Web授权,APP授权,小程序授权,默认值为open:非加密授权
isEdu
false
Integer
1:启用录屏优化, 0:关闭,默认值为0:关闭
encodeAAC
false
Integer
1:生成aac, 0:不生成,默认为0:不生成
appId
true
String
子账号appId
secretKey
true
String
子账号secretKey
返回对象描述
true为修改成功,false为修改失败
11、获取Playsafe Token
描述
通过子账号appId与视频id获取播放凭证,用于播放加密视频
接口地址(仅做说明使用):https://hls.videocc.net//service/v2/token/create-child
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
2、如果一个token(播放凭证)尚未过期,此时使用相同的 videoId、viewerId、viewerIp、isWxa 参数值请求该接口,则会复用原来的token,并延长原token的有效期。
单元测试
@Test
public void testGetPlaySafeToken() throws IOException, NoSuchAlgorithmException {
VodSubAccountGetPlaySafeTokenRequest vodSubAccountGetPlaySafeTokenRequest =
new VodSubAccountGetPlaySafeTokenRequest();
VodSubAccountGetPlaySafeTokenResponse vodSubAccountGetPlaySafeTokenResponse = null;
try {
vodSubAccountGetPlaySafeTokenRequest.setVideoId("1b448be32370f4822ac40fd926112a66_1")
.setViewerId("ovtl9t_RxnrTdqkXqkT5Q5lnxp2A")
.setViewerIp(super.getRandomIp())
.setViewerName("TestViewerName")
.setExpires(Long.parseLong("60"))
.setDisposable(Boolean.TRUE)
.setIsWxa(0)
//设置子账号相关
.setAppId(APP_ID)
.setSecretKey(SECRET_KEY);
vodSubAccountGetPlaySafeTokenResponse = new VodSubAccountServiceImpl().getPlaySafeToken(
vodSubAccountGetPlaySafeTokenRequest);
Assert.assertNotNull(vodSubAccountGetPlaySafeTokenResponse);
if (vodSubAccountGetPlaySafeTokenResponse != null) {
log.debug("测试获取Playsafe Token成功,{}", JSON.toJSONString(vodSubAccountGetPlaySafeTokenResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回VodSubAccountGetPlaySafeTokenResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.VodxxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
videoId
true
String
视频ID,例如 e6b23c6f519c5906e54a13b8200d7bb0_e
viewerId
true
String
观看者ID,要求不同的观看者使用不同的ID
viewerIp
false
String
观看者IP,如果为空,会自动获取调用该接口时的IP
viewerName
false
String
观看者名称
expires
false
Long
token 有效时长,单位为秒。为空时默认为10分钟
disposable
false
Boolean
token有效期,true表示token仅一次有效(验证一次后,token就失效了),false表示在有效期内可以进行多次验证。默认为false
isWxa
false
Integer
是否微信小程序播放,1为是,0为否。默认为0【对应api文档的iswxa字段】
extraParams
false
String
自定义的其它参数
appId
true
String
子账号appId
secretKey
true
String
子账号secretKey
返回对象描述
token
String
token(播放凭证)
userId
String
用户ID
videoId
String
视频ID,例如 e6b23c6f519c5906e54a13b8200d7bb0_e
viewerIp
String
观看者IP,如果为空,或自动获取调用该接口时的IP
viewerId
String
观看者ID,要求不同的观看者使用不同的ID
viewerName
String
观看者名称
extraParams
String
自定义的其它参数
ttl
Long
token 有效时长,单位为毫秒
createdTime
Date
token 创建时间
expiredTime
Date
token 过期时间
isWxa
Integer
是否微信小程序播放,1为是,0为否【对应api文档的iswxa字段】
disposable
Boolean
token有效期,true表示token仅一次有效(验证一次后,token就失效了),false表示在有效期内可以进行多次验证
12、查询子账号统计汇总数据
描述
按日期查询子账号统计汇总数据
接口地址(仅做说明使用):https://api.polyv.net/v2/sub-account/stats/agg/page
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testGetSubStatsAgg() throws IOException, NoSuchAlgorithmException {
VodSubAccountStatsAggPageRequest vodSubAccountStatsAggPageRequest = new VodSubAccountStatsAggPageRequest();
VodSubAccountStatsAggPageResponse vodSubAccountStatsAggPageResponse = null;
try {
vodSubAccountStatsAggPageRequest.setStartDate(getDate(2020, 6, 24)).setEndDate(getDate(2021, 4, 24));
vodSubAccountStatsAggPageResponse = new VodSubAccountServiceImpl().getSubStatsAgg(
vodSubAccountStatsAggPageRequest);
Assert.assertNotNull(vodSubAccountStatsAggPageResponse);
if (vodSubAccountStatsAggPageResponse != null) {
log.debug("测试查询子账号统计汇总数据成功{}", JSON.toJSONString(vodSubAccountStatsAggPageResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回VodSubAccountStatsAggPageResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.VodxxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
startDate
true
Date
查询的开始时间,格式要求:yyyy-MM-dd,时间跨度不能超过一年
endDate
true
Date
查询的结束时间,格式要求:yyyy-MM-dd,时间跨度不能超过一年
false
String
要查询的子账号邮箱,如果同时传了email和appId,则优先使用email
appId
false
String
要查询的子账号appId
currentPage
false
Integer
页数,默认为1【对应api文档的page字段】
pageSize
false
Integer
每页显示的数据条数,默认每页显示20条数据
返回对象描述
pageSize
Integer
每页显示的数据条数,默认每页显示20条数据
currentPage
Integer
当前页【对应api文档的pageNumber字段】
totalItems
Integer
记录总条数
totalPage
Integer
总页数【对应api文档的totalPages字段】
String
子账号邮箱,如果子账号被删除,则该字段为null
appId
String
子账号appId
flowSize
Long
源文件大小,单位:byte
view
Long
播放量,单位:个
duration
Long
播放时长,单位:秒
13、查询子账号统计详情
描述
按日期查询子账号统计详情列表
接口地址(仅做说明使用):https://api.polyv.net/v2/sub-account/stats/detail/list
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
2、email和appId不能同时为空
单元测试
@Test
public void testGetSubStatsDetailList() throws IOException, NoSuchAlgorithmException {
VodSubAccountStatsDetailRequest vodSubAccountStatsDetailRequest = new VodSubAccountStatsDetailRequest();
VodSubAccountStatsDetailResponse vodSubAccountStatsDetailResponse = null;
try {
vodSubAccountStatsDetailRequest.setStartDate(getDate(2021, 4, 10))
.setEndDate(getDate(2021, 4, 24))
.setAppId(APP_ID);
vodSubAccountStatsDetailResponse = new VodSubAccountServiceImpl().getSubStatsDetailList(
vodSubAccountStatsDetailRequest);
Assert.assertNotNull(vodSubAccountStatsDetailResponse);
if (vodSubAccountStatsDetailResponse != null) {
log.debug("测试测试查询子账号统计详情{}", JSON.toJSONString(vodSubAccountStatsDetailResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回VodSubAccountStatsDetailResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.VodxxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
startDate
true
Date
查询的开始时间,格式要求:yyyy-MM-dd,时间跨度不能超过一年
endDate
true
Date
查询的结束时间,格式要求:yyyy-MM-dd,时间跨度不能超过一年
false
String
要查询的子账号邮箱,如果同时传了email和appId,则优先使用email
appId
false
String
要查询的子账号appId
返回对象描述
currentDay
String
日期,格式:yyyy-MM-dd,如:2021-06-01
pcFlowSize
Long
PC端播放流量,单位:byte
mobileFlowSize
Long
移动端播放流量,单位:byte
totalFlowSize
Long
总流量,单位:byte
pcView
Long
PC端播放量,单位:个
mobileView
Long
移动端播放量,单位:个
totalView
Long
总播放量,单位:个
pcDuration
Long
PC端播放时长,单位:秒
mobileDuration
Long
移动端播放时长,单位:秒
totalDuration
Long
总播放时长,单位:秒
Last updated
Was this helpful?