保利威文档中心

幫助中心

barrageService

更新時間:2023-09-22 17:47:34

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為批次刪除彈幕失敗

联系客服,在线咨询