Barrage Service

1、创建视频弹幕

描述

通过视频id与弹幕信息创建视频弹幕
接口地址(仅做说明使用):https://api.polyv.net/v2/danmu/%s/add

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

2、弹幕功能请联系客服开通

单元测试

	@Test
	public void testCreateBarrage() throws IOException, NoSuchAlgorithmException {
        VodCreateBarrageRequest vodCreateBarrageRequest = new VodCreateBarrageRequest();
        VodCreateBarrageResponse vodCreateBarrageResponse = null;
        try {
            vodCreateBarrageRequest.setVideoId(super.getTestVideoId())
                    .setMsg("测试弹幕消息")
                    .setTime("00:00:08")
                    .setSessionId("88888888")
                    .setParam2("777777777")
                    .setFontSize(18)
                    .setFontMode("roll")
                    .setFontColor("0xFFFFFF");
            vodCreateBarrageResponse = new VodBarrageServiceImpl().createBarrage(vodCreateBarrageRequest);
            Assert.assertNotNull(vodCreateBarrageResponse);
            if (vodCreateBarrageResponse != null) {
                log.debug("测试创建视频弹幕成功,{}", JSON.toJSONString(vodCreateBarrageResponse));
            }
        } 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、请求正确,返回VodCreateBarrageResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.VodxxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

videoId

true

String

视频ID【对应api文档的vid字段】

msg

true

String

弹幕信息

time

true

String

弹幕出现的时间,格式 HH:mm:ss,例如 00:03:11

sessionId

false

String

场次号

param2

false

String

自定义参数

fontSize

false

Integer

字体大小,默认:18

fontMode

false

String

出现位置,顶部:top,底部:bottom,滚动:roll(默认)

fontColor

false

String

字体颜色,格式0xFFFFFF, 默认:0xFFFFFF

返回对象描述

参数名类型说明

id

String

弹幕ID【对应api文档的Id字段】


2、上传点播弹幕文件

描述

通过视频id上传点播弹幕文件
接口地址(仅做说明使用):https://api.polyv.net/v2/danmu/%s/upload

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

2、弹幕功能请联系客服开通

单元测试

	@Test
	public void testUploadBarrage() throws IOException, NoSuchAlgorithmException {
        VodUploadBarrageRequest vodUploadBarrageRequest = new VodUploadBarrageRequest();
        Boolean vodUploadBarrageResponse = null;
        try {
            String srtCN = getClass().getResource("/subtitle/srt(zh_CN).srt").getPath();
            vodUploadBarrageRequest.setVideoId(super.getTestVideoId())
                    .setFile(new File(srtCN));
            vodUploadBarrageResponse = new VodBarrageServiceImpl().uploadBarrage(vodUploadBarrageRequest);
            Assert.assertTrue(vodUploadBarrageResponse);
            if (vodUploadBarrageResponse) {
                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字段】

file

true

File

弹幕文件,文件格式为srt,支持utf-8编码

返回对象描述

true为上传弹幕文件成功,false为上传弹幕文件失败


3、查询弹幕信息

描述

通过视频id或分页参数查询用户下所有弹幕信息
接口地址(仅做说明使用):https://api.polyv.net/v2/danmu/%s

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

2、弹幕功能请联系客服开通

单元测试

	@Test
	public void testQueryBarrageList() throws IOException, NoSuchAlgorithmException {
        VodQueryBarrageListRequest vodQueryBarrageListRequest = new VodQueryBarrageListRequest();
        VodQueryBarrageListResponse vodQueryBarrageListResponse = null;
        try {
            vodQueryBarrageListRequest.setVideoId("1b448be32345b255cabc3fe8d65a4d00_1");
            vodQueryBarrageListResponse = new VodBarrageServiceImpl().queryBarrageList(vodQueryBarrageListRequest);
            Assert.assertNotNull(vodQueryBarrageListResponse);
            if (vodQueryBarrageListResponse != null) {
                log.debug("测试查询弹幕信息成功,{}", JSON.toJSONString(vodQueryBarrageListResponse));
            }
        } 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、请求正确,返回VodQueryBarrageListResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.VodxxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

videoId

false

String

视频vid,传入则查具体视频弹幕,不传查用户所有弹幕【对应api文档的vid字段】

currentPage

false

Integer

页数,默认为1【对应api文档的page字段】

pageSize

false

Integer

每页显示的数据条数,默认每页显示20条数据

返回对象描述

参数名类型说明

contents

Array

返回的结果集【详见BarrageInfo参数描述

pageSize

Integer

每页显示的数据条数,默认每页显示20条数据

currentPage

Integer

当前页【对应api文档的pageNumber字段】

totalItems

Integer

记录总条数

totalPage

Integer

总页数【对应api文档的totalPages字段】

BarrageInfo参数描述

参数名类型说明

id

Integer

弹幕信息的唯一标识

videoId

String

视频ID【对应api文档的vid字段】

userId

String

用户ID【对应api文档的userid字段】

msg

String

弹幕信息内容

time

String

弹幕出现的时间点,格式 时:分:秒 ,例如00:03:05

fontSize

String

弹幕内容的字体大小,例如 18【对应api文档的fontsize字段】

fontMode

String

弹幕内容滚动方式,顶部:top,底部:bottom,滚动:roll(默认)【对应api文档的fontmode字段】

fontcolor

String

弹幕内容字体颜色

createTime

Date

弹幕内容出现的完整时间,格式为:yyyy-MM-dd HH:mm:ss【对应api文档的timestamp字段】

sessionId

String

自定义参数(不能超过64位的字符串),添加弹幕传入的自定义参数(例如客户自己的用户ID资料等)【对应api文档的sessionid字段】

param2

String

自定义参数(不能超过64位的字符串),添加弹幕传入的自定义参数(例如客户自己的用户ID资料等)


4、批量删除弹幕信息

描述

通过弹幕id批量删除弹幕信息
接口地址(仅做说明使用):https://api.polyv.net/v2/danmu/%s/delete

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

2、弹幕功能请联系客服开通

单元测试

	@Test
	public void testDeleteBarrage() throws IOException, NoSuchAlgorithmException {
        VodDeleteBarrageRequest vodDeleteBarrageRequest = new VodDeleteBarrageRequest();
        Boolean vodDeleteBarrageResponse = null;
        try {
            //准备测试数据
            String barrageIds = super.getBarrageIdsByCreate();
            vodDeleteBarrageRequest.setBarrageIds(barrageIds);
            vodDeleteBarrageResponse = new VodBarrageServiceImpl().deleteBarrage(vodDeleteBarrageRequest);
            Assert.assertTrue(vodDeleteBarrageResponse);
            if (vodDeleteBarrageResponse) {
                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. ]

请求入参描述

参数名必选类型说明

barrageIds

true

String

多个弹幕信息ID,用逗号隔开(英文逗号分割 状态为半角),例如 123,456【对应api文档的danmuIds字段】

返回对象描述

true为批量删除弹幕成功,false为批量删除弹幕失败

Last updated