channelDoc
1、上傳頻道文件
描述
上传频道文档
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/document/upload-doc
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
2、上傳的檔案不超過200M,格式限制為(ppt, pdf,pptx,doc,docx,wps,xls,xlsx)
3、file和url只需要傳遞其中一個,如果傳遞了url和file,以file欄位為準
單元測試
@Test
public void testCreateChannelDoc() throws Exception, NoSuchAlgorithmException {
LiveCreateChannelDocRequest liveCreateChannelDocRequest = new LiveCreateChannelDocRequest();
LiveCreateChannelDocResponse liveCreateChannelDocResponse;
try {
String path = getClass().getResource("/file/PPT.pptx").getPath();
liveCreateChannelDocRequest.setChannelId(super.createChannel())
.setType("common")
// .setFile(new File(path))
.setUrl("https://help.polyv.net/third_res/PPT.pptx")
.setDocName("唐诗三百首")
.setCallbackUrl("http://www.baidu.com/callback");
liveCreateChannelDocResponse = new LiveChannelDocServiceImpl().createChannelDoc(
liveCreateChannelDocRequest);
Assert.assertNotNull(liveCreateChannelDocResponse);
if (liveCreateChannelDocResponse != null) {
//to do something ......
log.debug("测试上传频道文档成功,{}", liveCreateChannelDocResponse);
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳LiveCreateChannelDocResponse物件,B端依據此物件處理業務邏輯;
2、請求參數校驗不合格,拋出PloyvSdkException,錯誤資訊見PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.LivexxxRequest]物件校驗失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出PloyvSdkException,錯誤資訊見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| type | false | String | 轉換類型('common':轉普通圖片, 'animate':轉動畫效果)預設不傳轉普通,因為只有ppt,pptx可以轉動畫,其他類型檔案會自動轉成普通;檔案轉動畫轉失敗會直接把類型轉為普通 |
| file | false | File | 上傳的檔案不超過200M,格式限制為(ppt, pdf,pptx,doc,docx,wps, xls,xlsx) |
| docName | false | String | 文件名稱(不傳預設使用ppt上傳的檔案取得的檔案名稱作為文件名稱,文件名稱不得超過100個字元) |
| callbackUrl | false | String | 文件上傳轉換成功回呼位址 |
| url | false | String | 檔案位址url(需要可存取的位址),file和url只需要傳遞其中一個,如果傳遞了url和file,以file欄位為準 |
| appId | false | String | POLYV使用者APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV使用者APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| fileId | String | 成功時回傳檔案ID |
| autoId | Integer | 成功時回傳檔案記錄自增識別碼id |
| type | String | 轉換類型(common:轉普通圖片,animate:轉動畫效果)只有ppt,pptx會轉動畫,其中會自動轉成普通,轉動畫轉失敗也會直接把類型轉為普通 |
| status | String | 檔案轉換狀態(normal:正常,waitConvert:轉換PPT中,failConvert:轉換PPT失敗) |
2、查詢頻道文件轉換狀態
描述
查询频道文档转换状态
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/document/status/get
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetChannelDocStatus() throws Exception, NoSuchAlgorithmException {
LiveChannelDocStatusRequest liveChannelDocStatusRequest = new LiveChannelDocStatusRequest();
LiveChannelDocStatusResponse liveChannelDocStatusResponse;
try {
String channelId = super.createChannel();
liveChannelDocStatusRequest.setChannelId(channelId)
.setFileId("c2d585857870f4eff024976e3a265c0b1965681common," +
"6e0603f6c8ec6113b87f69a7191d22021965681common");
liveChannelDocStatusResponse = new LiveChannelDocServiceImpl().getChannelDocStatus(
liveChannelDocStatusRequest);
Assert.assertNotNull(liveChannelDocStatusResponse);
if (liveChannelDocStatusResponse != null) {
//to do something ......
log.debug("测试查询频道文档转换状态成功,{}", JSON.toJSONString(liveChannelDocStatusResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳LiveChannelDocStatusResponse物件,B端依據此物件處理業務邏輯;
2、請求參數校驗不合格,拋出PloyvSdkException,錯誤資訊見PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.LivexxxRequest]物件校驗失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出PloyvSdkException,錯誤資訊見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| fileId | true | String | 檔案ID,(如果有多個,可以用英文逗號隔開拼接成字串) |
| appId | false | String | POLYV使用者APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV使用者APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| channelDocStatuses | Array | 頻道文件列表轉換資訊【詳見ChannelDocStatus參數描述】 |
ChannelDocStatus參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| convertStatus | String | 轉換狀態. ("normal":正常。"failUpload": 上傳失敗。"waitConvert": 轉換PPT中。"failConvert": 轉換失敗,失敗原因會回傳在data[0].errorMsg欄位中展示) |
| errorMsg | String | 錯誤資訊(轉換失敗原因,convertStatus="failConvert" 回傳) |
| totalPage | Integer | 總頁數(convertStatus="normal" 回傳) |
| images | Array | 大圖位址陣列,(convertStatus="normal" 回傳) |
| smallImages | Array | 小圖位址陣列,(convertStatus="normal" 回傳) |
| imageCount | Integer | 大圖圖片數量,(convertStatus="normal" 回傳) |
| htmlUrl | String | 動畫PPT位址,(convertStatus="normal" 回傳) |
| fileId | String | 檔案ID |
3、取得頻道文件列表
描述
获取频道文档列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/document/doc-list
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testListChannelDoc() throws Exception, NoSuchAlgorithmException {
LiveListChannelDocRequest liveListChannelDocRequest = new LiveListChannelDocRequest();
LiveListChannelDocResponse liveListChannelDocResponse;
try {
String channelId = super.createChannel();
liveListChannelDocRequest.setChannelId(channelId).setIsShowUrl("Y").setStatus(null);
liveListChannelDocResponse = new LiveChannelDocServiceImpl().listChannelDoc(liveListChannelDocRequest);
Assert.assertNotNull(liveListChannelDocResponse);
if (liveListChannelDocResponse != null) {
//to do something ......
log.debug("测试获取频道文档列表成功,{}", JSON.toJSONString(liveListChannelDocResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳LiveListChannelDocResponse物件,B端依據此物件處理業務邏輯;
2、請求參數校驗不合格,拋出PloyvSdkException,錯誤資訊見PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.LivexxxRequest]物件校驗失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出PloyvSdkException,錯誤資訊見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| status | false | String | 文件狀態,不傳查詢所有("normal":正常,"waitUpload":等待上傳,failUpload:上傳失敗,waitConvert:轉換PPT中,failConvert:轉換PPT失敗) |
| isShowUrl | false | String | 是否展示PPT原始檔案位址,Y:是;N:否;預設為N |
| currentPage | false | Integer | 頁數,預設為1【對應api文件的page欄位】 |
| pageSize | false | Integer | 每頁顯示的資料筆數,預設每頁顯示20筆資料【對應api文件的limit欄位】 |
| appId | false | String | POLYV使用者APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV使用者APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| contents | Array | 頻道文件【詳見ChannelDoc參數描述】 |
| pageSize | Integer | 每頁顯示的資料筆數,預設每頁顯示20筆資料 |
| currentPage | Integer | 目前頁【對應api文件的pageNumber欄位】 |
| totalItems | Integer | 記錄總筆數 |
| totalPage | Integer | 總頁數【對應api文件的totalPages欄位】 |
ChannelDoc參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| autoId | Integer | 文件ID |
| fileId | String | 檔案ID |
| fileName | String | 檔案名稱 |
| fileUrl | String | 檔案url(isShowUrl為'Y'的時候回傳檔案位址) |
| fileType | String | 檔案類型,如:.pdf |
| totalPage | Integer | PPT總頁數 |
| channelId | String | 頻道號 |
| status | String | ppt轉換狀態("normal":正常,"waitUpload":等待上傳,failUpload:上傳失敗,waitConvert:轉換PPT中,failConvert:轉換PPT失敗) |
| createTime | Date | 建立時間 |
| convertType | String | 轉換類型(common:普通PPT,animate:動畫PPT) |
| type | String | 類型,區分舊版PPT還是新版PPT,新版值為"new",舊版值為"old" |
| previewImage | String | ppt預覽小圖位址,如:http://doc-2.polyv.net/x/xxx_0.jpeg |
4、刪除頻道文件
描述
删除频道文档
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/document/delete
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testDeleteChannelDoc() throws Exception, NoSuchAlgorithmException {
LiveDeleteChannelDocRequest liveDeleteChannelDocRequest = new LiveDeleteChannelDocRequest();
Boolean liveDeleteChannelDocResponse;
try {
String channelId = super.createChannel();
liveDeleteChannelDocRequest.setChannelId(channelId)
.setFileId("6897d12bd284dd1e9b8b8534b6af91c31965681common")
.setType("new");
liveDeleteChannelDocResponse = new LiveChannelDocServiceImpl().deleteChannelDoc(
liveDeleteChannelDocRequest);
Assert.assertTrue(liveDeleteChannelDocResponse);
if (liveDeleteChannelDocResponse) {
//to do something ......
log.debug("测试删除频道文档成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
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.LivexxxRequest]物件校驗失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出PloyvSdkException,錯誤資訊見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| fileId | true | String | 檔案ID,(如果有多個,可以用英文逗號隔開拼接成字串) |
| type | true | String | 新舊版檔案類型,old:舊版,new:新版【這個值可以從文件列表介面回傳資料的type(類型)中獲得】【多個檔案需要刪除,請按照fileId順序對應ppt新舊類型,用英文逗號隔開拼接成字串),type中的類型數量必須跟fileId中包含的ID數量一致】 |
| appId | false | String | POLYV使用者APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV使用者APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true為刪除文件成功,false為刪除文件失敗
5、講師文件關係管理
描述
开启了“讲义库”功能后(如需开通请联系售后),通过此接口将讲师和公共讲义库中的文档关联起来,从而实现在不需要重复上传的情况下,多个讲师共用同一份文档
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/doc/teacher/update-relation
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateTeacherDocRelation() throws IOException, NoSuchAlgorithmException {
LiveTeacherDocRelationRequest liveTeacherDocRelationRequest = new LiveTeacherDocRelationRequest();
Boolean liveTeacherDocRelationResponse;
try {
liveTeacherDocRelationRequest.setTeacherId("4047763")
.setFileIds("702eaad1e22b218b79285eab77410af84047763common")
.setOperation(2);
liveTeacherDocRelationResponse = new LiveChannelDocServiceImpl().UpdateTeacherDocRelation(
liveTeacherDocRelationRequest);
Assert.assertNotNull(liveTeacherDocRelationResponse);
if (liveTeacherDocRelationResponse != null) {
//to do something ......
log.debug("测试讲师文档关系管理成功 {}", JSON.toJSONString(liveTeacherDocRelationResponse));
}
} 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.LivexxxRequest]物件校驗失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出PloyvSdkException,錯誤資訊見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| operation | true | Integer | 操作, 1:新增綁定關係,若綁定關係已經存在,則不再新增,只更新關聯時間,查詢列表時預設會根據此關聯時間倒序排序 2:解除綁定關係 |
| teacherId | true | String | 講師ID,32個以內ASCII碼可見字元,係【建立頻道介面】或【更新頻道介面】所傳入的 customTeacherId |
| fileIds | true | String | 文件ID,多個文件ID以,分隔,一次最多傳入100個 |
| appId | false | String | POLYV使用者APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV使用者APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true為關係修改成功,false為關係修改失敗
