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