保利威文档中心

幫助中心

deprecatedChannelOperate

更新時間:2025-09-11 15:18:09

1、建立並初始化頻道

描述

创建并初始化频道
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/create

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

2、在 AuthSetting 中,AuthType 無法直接設定白名單觀看,需先建立頻道後再設定觀看條件;範例

3、AuthSetting 中最多只能設定兩個觀看條件(即一個主要觀看條件,一個次要觀看條件),次要條件必須有主要條件才能生效。

4、AuthSetting 不能設定兩個 AuthType 一致的項目

5、自訂授權對接文件、外部授權對接文件、直接授權對接文件

單元測試

    @Test
    public void testCreateChannelInit() throws Exception, NoSuchAlgorithmException {
        LiveChannelInitRequest liveChannelInitRequest = new LiveChannelInitRequest();
        LiveChannelInitResponse liveChannelInitResponse = null;
        try {
            LiveChannelInitRequest.BasicSetting basicSetting = new LiveChannelInitRequest.BasicSetting().setName(
                            "创建并初始化频道-验证码观看")
                    .setChannelPasswd(getRandomString(6))
                    .setAutoPlay(1)
                    .setPlayerColor("#666666")
                    .setScene(LiveConstant.SceneType.ALONE.getDesc())
                    .setCategoryId(340019)
                    .setMaxViewer(0)
                    .setStartTime(null)
                    .setDesc("这是一个描述")
                    .setPublisher("sadboy主讲")
                    .setLinkMicLimit(-1)
                    .setPureRtcEnabled("N")
                    .setReceiveChannelIds(null)
                    .setSubAccount("test-dev@qq.com")
                    .setOnlyOneLiveEnabled("N");
            liveChannelInitRequest.setBasicSetting(basicSetting);
            //验证码观看
            LiveChannelInitRequest.AuthSetting codeAuthSettings = new LiveChannelInitRequest.AuthSetting().setRank(1)
                    .setAuthType(LiveConstant.AuthType.CODE.getDesc())
                    .setEnabled("Y")
                    .setAuthCode("123456")
                    .setQcodeTips("提示文案")
                    .setQcodeImg("https://live.polyv.net/static/images/live-header-logo.png");
            //收费观看
            LiveChannelInitRequest.AuthSetting moneyAuthSettings = new LiveChannelInitRequest.AuthSetting().setRank(2)
                    .setAuthType(LiveConstant.AuthType.PAY.getDesc())
                    .setEnabled("Y")
                    .setPayAuthTips("付费观看")
                    .setPrice(0.01f)
                    .setQcodeTips("提示文案")
                    .setQcodeImg("https://live.polyv.net/static/images/live-header-logo.png");
            List<LiveChannelInitRequest.AuthSetting> authSettings = new ArrayList<LiveChannelInitRequest.AuthSetting>();
            authSettings.add(codeAuthSettings);
            authSettings.add(moneyAuthSettings);
            liveChannelInitRequest.setAuthSettings(authSettings);
            //回放设置
            LiveChannelInitRequest.PlaybackSetting playbackSetting = new LiveChannelInitRequest.PlaybackSetting();
            playbackSetting.setGlobalSettingEnabled("N").setPlaybackEnabled("Y").setType("single").setOrigin("record");
            liveChannelInitRequest.setPlaybackSetting(playbackSetting);
            //设置讲师
            LiveChannelInitRequest.Teacher teacher = new LiveChannelInitRequest.Teacher();
            teacher.setActor("讲师").setNickname("王老师");
            liveChannelInitRequest.setTeacher(teacher);
            //设置角色
            LiveChannelInitRequest.Roles assistantRole = new LiveChannelInitRequest.Roles();
            assistantRole.setNickname("孙助教").setActor("助教").setPasswd(getRandomString(6)).setRole("Assistant");
            LiveChannelInitRequest.Roles guestRole = new LiveChannelInitRequest.Roles();
            guestRole.setNickname("赵嘉宾").setActor("嘉宾").setPasswd(getRandomString(6)).setRole("Guest");
            List<LiveChannelInitRequest.Roles> roles = new ArrayList<>();
            roles.add(assistantRole);
            roles.add(guestRole);
            liveChannelInitRequest.setRoles(roles);
            liveChannelInitResponse = new LiveChannelOperateServiceImpl().createChannelInit(liveChannelInitRequest);
            Assert.assertNotNull(liveChannelInitResponse);
            if (liveChannelInitResponse != null) {
                //to do something ......
                log.debug("测试创建并初始化频道 验证码观看创建成功{}", JSON.toJSONString(liveChannelInitResponse));
                //TODO 此处创建完成后删除了频道,正式使用需删除该语句
                deleteChannel(liveChannelInitResponse.getChannelId());
            }
        } 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、請求正確,回傳 LiveChannelInitResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]

請求入參說明

參數名 必選 類型 說明
basicSetting true BasicSetting 基礎設定【詳見BasicSetting參數說明
authSettings false Array 觀看條件設定【詳見AuthSetting參數說明
playbackSetting false PlaybackSetting 回放設定【詳見PlaybackSetting參數說明
teacher false Teacher 講師設定【詳見Teacher參數說明
roles false Array 角色設定【詳見Roles參數說明
appId false String POLYV用戶APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
BasicSetting參數描述
參數名 必選 類型 說明
name true String 頻道名稱
channelPasswd false String 頻道密碼,長度不能超過16位,必須同時包含字母和數字
autoPlay false Integer 是否自動播放,0-不自動播放;1-自動播放,預設1
playerColor false String 播放器控制欄顏色,預設:#666666
scene false String 直播場景:alone 活動拍攝;ppt 三分屏;topclass 大班課;seminar:研討會
categoryId false Integer 新建頻道的所屬分類,如果不提交,則為預設分類(分類ID可透過「獲取直播分類」介面取得)
maxViewer false Integer 最大同時線上人數
startTime false Date 直播開始時間
desc false String 直播介紹的內容
publisher false String 主持人
linkMicLimit false Integer 連麥人數,-1=<取值範圍<=帳號級的連麥人數,-1:表示使用帳號預設的連麥人數,最大16人(註:帳號級連麥人數需通知平台管理員設定才生效)
pureRtcEnabled false String 是否為無延遲直播,Y 表示開啟,預設為N
receive false String 是否為接收轉播頻道,Y 表示是,不填或填其他值為發起轉播頻道(註:需要開啟頻道轉播功能該參數才生效)
receiveChannelIds false String 接收轉播頻道號,多個頻道號用半形逗號,隔開,如果receive參數值為Y時,此參數無效(註:需要開啟頻道轉播功能該參數才生效)
onlyOneLiveEnabled false String 頻道是否只能直播一次,Y是,N否,預設為N
coverImg false String 封面圖片地址
splashEnabled false String 引導頁開關,預設為N;Y:是,N:否
splashImg false String 引導頁圖片地址,非保利威域名下的圖片需先呼叫上傳圖片資源上傳
likes false String 點讚數
pageView false String 累積觀看數
closeBarrage false String 是否關閉彈幕功能 Y:表示關閉 N:表示開啟【對應api文件的closeDanmu欄位】
showBarrageInfoEnabled false String 是否顯示彈幕資訊開關, Y:表示顯示 N:表示不顯示【對應api文件的showDanmuInfoEnabled欄位】
subAccount false String 子帳號郵箱,填寫時頻道會建立在該子帳號下(子帳號不能被刪除或禁用),暫無法透過介面取得
AuthSetting參數描述
參數名 必選 類型 說明
rank true Integer 通用參數:主要觀看條件為1,次要觀看條件為2
enabled true String 通用參數:是否開啟,Y為開啟,N為關閉
authType false String 通用參數:付費觀看-pay,驗證碼觀看-code,白名單觀看-phone,登記觀看-info,自定義授權觀看-custom,外部授權-external,直接授權(獨立授權)-direct
payAuthTips false String 付費觀看參數:歡迎語標題,付費觀看時該欄位必填
price false Float 付費觀看參數:價格,單位為元,付費觀看時該欄位必填
watchEndTime false Date 付費觀看參數:付費有效截止日期。watchEndTime和validTimePeriod只能設定一個,當watchEndTime和validTimePeriod都為空時,表示付費永久有效
validTimePeriod false Integer 付費觀看參數:付費有效時長,單位天。當watchEndTime和validTimePeriod都為空時,表示付費永久有效
authCode false String 驗證碼觀看參數:驗證碼,驗證碼觀看時該欄位必填
qcodeTips false String 驗證碼觀看參數:提示文案
qcodeImg false String 驗證碼觀看參數:公眾號二維碼地址
authTips false String 白名單觀看參數:提示文案
infoFields false Array 登記觀看參數,登記觀看時該欄位必填【詳見InfoField參數描述
externalKey false String 外部授權參數:SecretKey,外部授權時該欄位必填
externalUri false String 外部授權參數:自訂url,外部授權時該欄位必填
externalRedirectUri false String 外部授權參數:跳轉地址
customKey false String 自訂授權參數:SecretKey,自訂授權時該欄位必填
customUri false String 自訂授權參數:自訂url,自訂授權時該欄位必填
directKey false String 直接授權參數:直接授權簽名使用SecretKey
PlaybackSetting參數描述
參數名 必選 類型 說明
globalSettingEnabled false String 是否套用通用設定:Y:是; N:否;
playbackEnabled false String 回放開關:Y:開啟; N:關閉;
type false String 回放方式:single:單一回放; list:列表回放;
origin false String 回放來源:record:暫存; playback:回放列表; vod:點播列表;
videoId false String 單一回放的影片 ID
Teacher參數描述
參數名 必選 類型 說明
nickname false String 講師暱稱
actor false String 講師頭銜
passwd false String 講師密碼(與 basicSetting.channelPasswd 說明一致,此處可不設定)
avatar false String 頭像圖片網址
Roles參數描述
參數名 必選 類型 說明
nickname false String 角色暱稱
actor false String 角色頭銜
passwd false String 角色密碼
avatar false String 頭像圖片位址
role false String 角色類型:Assistant:助教; Guest:嘉賓;
InfoField參數描述
參數名 必填 類型 說明
name false String 登記資訊名稱,最多8個字元
type true String 登記類型,姓名-name,文字-text,手機號碼-mobile,數字-number,下拉選項-option,登記觀看時此欄位必填
options false String 下拉選項時,下拉的選項值,以英文逗號分隔。選項個數上限為8個;選項內容最多8個字元
placeholder false String 文字框輸入提示,最多8個字元
sms false String 簡訊驗證開關,Y 開啟,N 關閉

回傳物件描述

參數名 類型 說明
channelId String 直播頻道號
userId String POLYV 使用者 ID,與保利威官網一致,取得路徑:官網 -> 登入 -> 直播(開發設定)
name String 直播頻道名稱
publisher String 主持人
description String 直播頻道描述
url String 直播推流位址
stream String 直播流名稱
logoImage String 播放器 logo
logoOpacity Float Logo 不透明度,1 表示完全不透明
logoPosition String Logo 位置
tr1:左上
tr:右上
b1:左下
br:右下
logoHref String Logo 的跳轉連結
coverImage String 播放前顯示的封面圖
coverHref String 封面圖的跳轉連結
waitImage String 等待推流時的顯示圖片
waitHref String 等待推流時顯示圖片的跳轉連結
cutoffImage String 切斷流時的顯示圖片
cutoffHref String 切斷流時顯示圖片的跳轉連結
advertType String 廣告類型
advertDuration String 廣告時長,單位:秒
advertWidth String 廣告區域寬度
advertHeight String 廣告區域高度
advertImage String 圖片廣告
advertHref String 廣告的跳轉連結
advertFlvVid String 影片廣告 ID
advertFlvUrl String 影片廣告連結
playerColor String 播放器控制欄顏色
autoPlay Boolean 自動播放
warmUpFlv String 一開始的暖場影片
passwdRestrict Boolean 觀看密碼限制,需要輸入觀看密碼才能播放流
passwdEncrypted String 觀看密碼加密後的密文
isOnlyAudio String 僅推音訊流:Y:音訊模式; N:普通模式;
isLowLatency String 低延遲,Y-低延遲,N-非低延遲
m3u8Url String 直播拉流(播放)m3u8 位址
m3u8Url1 String 直播拉流(播放)m3u8 位址 1
m3u8Url2 String 直播拉流(播放)m3u8 位址 2
m3u8Url3 String 直播拉流(播放)m3u8 位址 3
channelLogoImage String 頻道圖示
scene String 直播場景 alone:活動拍攝 ppt:三分屏 topclass:大班課 seminar:研討會
channelViewerPasswd String 參與者密碼
channelPasswd String 頻道密碼
linkMicLimit Integer 連麥人數 -1:使用帳號連麥分數 0-16:代表連麥人數
streamType String 直播方式 client:客戶端推流 pull:拉流 thirdpull:第三方拉流 disk:硬碟推流 audio:音訊直播
pureRtcEnabled String 是否為無延遲直播,預設為 N Y:是 N:否
type String 頻道類型 發起轉播:transmit 接收轉播:receive 普通頻道:normal
cnAndEnLiveEnabled String 中英文直播間開關 Y:開啟 N:關閉
pushEnUrl String 英文推流位址
currentTimeMillis Long 伺服器回傳的時間戳記(毫秒)






2、查詢頻道基本資訊

描述

查询频道基本信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/get

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetChannelBasicInfo() throws Exception, NoSuchAlgorithmException {
        LiveChannelBasicInfoRequest liveChannelBasicInfoRequest = new LiveChannelBasicInfoRequest();
        LiveChannelBasicInfoResponse liveChannelBasicInfoResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelBasicInfoRequest.setChannelId(channelId);
            liveChannelBasicInfoResponse = new LiveChannelOperateServiceImpl().getChannelBasicInfo(
                    liveChannelBasicInfoRequest);
            Assert.assertNotNull(liveChannelBasicInfoResponse);
            if (liveChannelBasicInfoResponse != null) {
                //to do something ......
                log.debug("查询频道基本信息成功{}", JSON.toJSONString(liveChannelBasicInfoResponse));
            }
        } 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、請求正確,回傳 LiveChannelBasicInfoResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]

請求入參說明

參數名 必選 類型 說明
channelId true String 頻道號
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定)

回傳物件描述

參數名 類型 說明
channelId String 頻道號
name String 頻道名稱
scene String 直播場景:alone 活動拍攝;ppt 三分屏;topclass 大班課;seminar:研討會
newScene String 新版後台直播場景,若未定義則取scene
undefined:未定義
topclass:大班課
double:雙師課(需開通權限)
train:企業培訓
seminar:研討會
alone:活動行銷
template String 新版後台直播模板,若老版頻道,該欄位為未定義
undefined:未定義
ppt:文件+影片
alone:純影片(專業)
topclass:純影片(極速)
seminar:研討會
portrait_ppt:文件+影片(直式)
portrait_alone:影片(直式)
channelPasswd String 頻道密碼
pureRtcEnabled String 無延遲開關
Y:開啟
N:關閉
publisher String 主持人名稱
startTime Date 直播開始時間,關閉時為null
pageView Integer 頁面累計觀看數
likes Integer 觀看頁按讚數
coverImg String 頻道圖示url
splashImg String 引導頁圖片位址
splashEnabled String 引導頁開關(取值為Y/N)
desc String 直播介紹
consultingMenuEnabled String 諮詢提問開關(取值為Y/N)
maxViewerRestrict String 限制最大線上觀看人數開關(取值為Y/N)
maxViewer Integer 最大線上觀看人數
watchStatus String 頻道的觀看頁狀態,取值為:live(直播中)、end(直播結束)、playback(回放中)、waiting(等待直播)
watchStatusText String 觀看頁狀態描述,直播中,回放中,已結束,未開始
userCategory UserCategory 頻道所屬分類的資訊【詳見UserCategory參數描述
authSettings Array 直播觀看條件列表【詳見AuthSetting參數描述
UserCategory參數描述
參數名 類型 說明
categoryId Integer 分類ID
categoryName String 分類名稱
userId String POLYV用戶ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定)
rank Integer 分類的排序值
AuthSetting參數描述
參數名 類型 說明
channelId String 頻道號
userId String POLYV 用戶 ID,與保利威官網一致,取得路徑:官網 -> 登入 -> 直播(開發設定)
rank Integer 用於實現一個頻道設定兩個觀看條件,為 1 或 2(1 為主要條件,2 為次要條件)
globalSettingEnabled String 是否開啟全域設定(Y/N)
enabled String 是否開啟觀看條件(Y/N)
authType String 觀看條件類型(1. 無限制 none 2. 驗證碼觀看 code 3. 付費觀看 pay 4. 白名單觀看 phone 5. 登記觀看 info 6. 分享觀看 wxshare 7. 自訂授權觀看 custom 8. 外部授權觀看 external)
authTips String 白名單觀看提示資訊
payAuthTips String 付費觀看提示資訊
authCode String 驗證碼觀看方式的驗證碼
qcodeTips String 驗證碼觀看方式的 QR Code 提示
qcodeImg String 驗證碼觀看方式的 QR Code 圖片
price Float 付費觀看的價格
watchEndTime Date 付費觀看,截止時間,為 null 表示:一次付費,永久有效
validTimePeriod Integer 付費觀看的截止時長(天)
customKey String 自訂授權觀看的 key
customUri String 自訂授權觀看的介面地址
externalKey String 外部授權觀看的 key
externalUri String 外部授權觀看的介面地址
externalRedirectUri String 外部授權觀看,用戶直接訪問觀看頁時的跳轉地址






3、批次建立頻道

描述

批量创建频道
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/batch-create

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testCreateChannelList() throws Exception, NoSuchAlgorithmException {
        LiveCreateChannelListRequest liveCreateChannelListRequest = new LiveCreateChannelListRequest();
        LiveCreateChannelListResponse liveCreateChannelListResponse;
        try {
            List<LiveCreateChannelListRequest.LiveChannelBasic> channels =
                    new ArrayList<LiveCreateChannelListRequest.LiveChannelBasic>();
            for (int i = 0; i <= 2; i++) {
                LiveCreateChannelListRequest.LiveChannelBasic liveChannel =
                        new LiveCreateChannelListRequest.LiveChannelBasic();
                liveChannel.setName("批量创建" + i)
                        .setChannelPasswd("123456" + i)
                        .setCourseId("c" + i)
                        .setAutoPlay(1)
                        .setPlayerColor("#666666")
                        .setScene(LiveConstant.SceneType.ALONE.getDesc())
                        .setSubAccount("test-dev@qq.com")
                        .setCategoryId(340019);
                channels.add(liveChannel);
            }
            liveCreateChannelListRequest.setChannels(channels);
            liveCreateChannelListResponse = new LiveChannelOperateServiceImpl().createChannelList(
                    liveCreateChannelListRequest);
            Assert.assertNotNull(liveCreateChannelListResponse);
            if (liveCreateChannelListResponse != null) {
                //to do something ......
                log.debug("频道批量创建成功{}", JSON.toJSONString(liveCreateChannelListResponse));
            }
        } 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、請求正確,回傳 LiveCreateChannelListResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參說明

參數名稱 必填 類型 說明
channels true Array 頻道列表【詳見LiveChannelBasic參數說明
appId false String POLYV使用者APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV使用者APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
LiveChannelBasic參數描述
參數名 必填 類型 說明
name true String 頻道名稱
channelPasswd false String 頻道密碼,長度不能超過16位,必須同時包含字母和數字
courseId false String 課程號
autoPlay false Integer 是否自動播放,0/1,預設1。注意,如果該值為空,則該頻道會使用全域的「功能開關設定」。如果非空,則會使用頻道的「功能開關設定」。
playerColor false String 播放器控制欄顏色,預設:#666666
scene false String 直播場景,alone 活動拍攝;ppt 三分屏;topclass 大班課;seminar:研討會
categoryId false Integer 新建頻道的所屬分類,如果不提交,則為預設分類。分類ID可透過「取得直播分類」介面取得
subAccount false String 子帳號信箱,填寫時頻道會建立在該子帳號下(子帳號不能被刪除或停用),暫無法透過介面取得

回傳物件描述

參數名稱 類型 說明
channels Array 頻道基本資訊【詳見LiveChannelResponse參數描述
LiveChannelResponse參數描述
參數名 類型 說明
channelId String 直播頻道號
userId String POLYV 使用者 ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定)
name String 直播頻道名稱
publisher String 主持人
description String 直播頻道描述
url String 直播推流位址
stream String 直播流名稱
logoImage String 播放器 logo
logoOpacity Float Logo 不透明度,1 表示完全不透明
logoPosition String Logo 位置
tr1:左上
tr:右上
b1:左下
br:右下
logoHref String Logo 的跳轉連結
coverImage String 播放前顯示的封面圖
coverHref String 封面圖的跳轉連結
waitImage String 等待推流時的顯示圖片
waitHref String 等待推流時顯示圖片的跳轉連結
cutoffImage String 切斷流時的顯示圖片
cutoffHref String 切斷流時顯示圖片的跳轉連結
advertType String 廣告類型
advertDuration Integer 廣告時長,單位:秒
advertWidth Integer 廣告區域寬度
advertHeight Integer 廣告區域高度
advertImage String 圖片廣告
advertHref String 廣告的跳轉連結
advertFlvVid String 影片廣告 ID
advertFlvUrl String 影片廣告連結
playerColor String 播放器控制欄顏色
autoPlay Boolean 自動播放,true 為自動播放,false 為關閉
warmUpFlv String 一開始的暖場影片
passwdRestrict Boolean 觀看密碼限制,需要輸入觀看密碼才能播放流
passwdEncrypted String 觀看密碼加密後的密文
isOnlyAudio String 僅推音訊流,Y-是,N-否
isLowLatency String 低延遲,Y-是,N-否
m3u8Url String 直播拉流(播放)m3u8 位址
m3u8Url1 String 直播拉流(播放)m3u8 位址 1
m3u8Url2 String 直播拉流(播放)m3u8 位址 2
m3u8Url3 String 直播拉流(播放)m3u8 位址 3
currentTimeMillis Long 伺服器回傳的時間戳記(毫秒)
linkMicLimit Integer 連麥人數
channelLogoImage String 頻道圖示
scene String 直播場景 alone:活動拍攝 ppt:三分屏 topclass:大班課 seminar:研討會
channelViewerPasswd String 參與者密碼
channelPasswd String 頻道密碼
streamType String 直播方式
pureRtcEnabled String 是否為純 rtc 拉流 Y:是 N:否
type String 頻道類型 發起轉播:transmit 接收轉播:receive 普通頻道:normal
cnAndEnLiveEnabled String 中英文直播間開關 Y:開啟 N:關閉
pushEnUrl String 英文推流位址






4、建立角色-助教

描述

创建角色-助教
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelAccount/%s/add

呼叫限制

1、介接呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testCreateSonChannelAssistant() throws Exception, NoSuchAlgorithmException {
        LiveCreateSonChannelRequest liveCreateSonChannelRequest = new LiveCreateSonChannelRequest();
        LiveCreateSonChannelResponse liveCreateSonChannelResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            List<String> sonChannelIds = getDelSonChannelIds();
            for (String temp : sonChannelIds) {
                deleteSonChannel(temp);
            }
            liveCreateSonChannelRequest.setChannelId(channelId)
                    .setRole(null)
                    .setNickname("sadboy")
                    .setActor("教授")
                    .setAvatar("https://www.polyv.net/assets/dist/images/web3.0/c-header/hd-logo.svg?v=2.0");
            liveCreateSonChannelResponse = new LiveChannelOperateServiceImpl().createSonChannel(
                    liveCreateSonChannelRequest);
            Assert.assertNotNull(liveCreateSonChannelResponse);
            if (liveCreateSonChannelResponse != null) {
                //to do something ......
                log.debug("创建角色成功{}", JSON.toJSONString(liveCreateSonChannelResponse));
            }
        } 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、請求正確,回傳 LiveCreateSonChannelResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參描述

參數名 必填 類型 說明
channelId String 頻道號
role String 預設不傳為助教,傳 Guest 為嘉賓
nickname String 建立的助教或嘉賓暱稱
actor String 建立的助教或嘉賓頭銜
avatar String 建立的助教或嘉賓頭像
appId String POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret String POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
account String 助教ID
userId String POLYV使用者ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定)
channelId String 頻道號
passwd String 助教密碼
nickname String 助教名稱
stream String 助教串流名稱(單獨使用無效)
status String 助教狀態(Y/N)
createdTime Date 建立助教時間
lastModified Date 助教最後修改時間
sort Integer 頻道中所有助教序號
avatar String 助教頭像
pageTurnEnabled String 助教翻頁權限(只能一個助教有,Y或N)
notifyEnabled String 發布公告權限(Y/N)
checkinEnabled String 開啟簽到權限(Y/N)
voteEnabled String 發起投票(Y/N)
role String 角色
assistant:助教
guest:嘉賓






5、設定角色

描述

设置角色
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelAccount/%s/update

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testUpdateSonChannelInfo() throws Exception, NoSuchAlgorithmException {
        LiveUpdateSonChannelInfoRequest liveUpdateSonChannelInfoRequest = new LiveUpdateSonChannelInfoRequest();
        Boolean liveUpdateSonChannelInfoResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            String sonChannelId = createSonChannel(channelId);
            liveUpdateSonChannelInfoRequest.setChannelId(channelId)
                    .setAccount(sonChannelId)
                    .setNickname("sadboy")
                    .setPassword(getRandomString(16))
                    .setAvatar("https://www.polyv.net/assets/dist/images/web3.0/c-header/hd-logo.svg?v=2.0")
                    .setActor("教授")
                    .setPageTurnEnabled("Y")
                    .setNotifyEnabled("Y");
            liveUpdateSonChannelInfoResponse = new LiveChannelOperateServiceImpl().updateSonChannelInfo(
                    liveUpdateSonChannelInfoRequest);
            Assert.assertNotNull(liveUpdateSonChannelInfoResponse);
            if (liveUpdateSonChannelInfoResponse) {
                //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 頻道號
account true String 助教/嘉賓帳號
nickname false String 暱稱
password false String 角色密碼
avatar false String 頭像
actor false String 角色頭銜
pageTurnEnabled false String 助教翻頁權限,值為Y或N,Y為開啟,N為關閉
notifyEnabled false String 角色公告權限,值為Y或N,Y為開啟,N為關閉
appId false String POLYV用戶APP_ID,多帳號調用時此參數必填(即調用了initMultiAccount()設置多帳號調用),透過註冊保利威官網獲取,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號調用時此參數必填(即調用了initMultiAccount()設置多帳號調用),透過註冊保利威官網獲取,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 為設定成功,false 為設定失敗




6、取得講師資訊

描述

获取讲师信息
接口地址(仅做说明使用):https://api.polyv.net/live//v3/channel/account/getTeacher

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testChannelGetTeacher() throws Exception, NoSuchAlgorithmException {
        LiveChannelGetTeacherRequest liveChannelGetTeacherRequest = new LiveChannelGetTeacherRequest();
        LiveChannelGetTeacherResponse liveChannelGetTeacherResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelGetTeacherRequest.setChannelId(channelId);
            liveChannelGetTeacherResponse = new LiveChannelOperateServiceImpl().getTeacher(liveChannelGetTeacherRequest);
            Assert.assertNotNull(liveChannelGetTeacherResponse);
            if (liveChannelGetTeacherResponse != null) {
                //to do something ......
                log.debug("获取讲师信息成功: %s",JSON.toJSONString(liveChannelGetTeacherResponse));
            }
        } 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、請求正確,回傳 LiveChannelGetTeacherResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求返回資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]

請求入參說明

參數名 必填 類型 說明
channelId true String 頻道號
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
account String 講師 ID,同頻道號
actor String 講師頭銜
avatar String 講師頭像,範例://liveimages.videocc.net/uploaded/images/2023/04/gjps9etdpx.jpg
channelId String 頻道號
nickname String 講師暱稱
passwd String 講師登入密碼
loginCode String 該欄位為 null
role String 該欄位為 null

联系客服,在线咨询