保利威文档中心

幫助中心

建立單一頻道(舊版)

更新時間:2024-12-16 19:20:19

介面說明

1、创建频道并进行相关设置
2、(timestamp, appId)参与sign签名,并和sign一起通过url传递,请求体参数不参与签名,通过post请求体传递【请设置请求头contentType:application/json】
3、接口支持https协议

介面URL

http://api.polyv.net/live/v3/channel/basic/create

請求方式

POST

介面限制

1、介面同時支援HTTP、HTTPS,建議使用HTTPS以確保介面安全,介面呼叫有頻率限制,詳細請查看

請求參數說明

參數名 必填 類型 說明
appId true String 帳號appId【詳見取得金鑰
timestamp true Long 目前13位毫秒級時間戳記,3分鐘內有效
sign true String 簽章,為32位大寫的MD5值,產生簽章的appSecret金鑰作為通訊資料安全的關鍵資訊,嚴禁儲存在用戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽章產生規則

請求主體參數說明

參數名 必填 類型 說明
basicSetting true Object 基礎設定【詳見basicSetting欄位說明
authSettings false Array 觀看條件設定【詳見authSettings欄位說明
playbackSetting false Object 回放設定【詳見playbackSetting欄位說明
teacher false Object 講師設定【詳見teacher欄位說明
roles false Array 角色設定【詳見roles欄位說明
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 最大同時線上人數,0和-1表示不限制觀看人數
startTime false Long 直播開始時間,13位毫秒級時間戳記
desc false String 直播介紹的內容
publisher false String 主持人
linkMicLimit false Integer 連麥人數,最大16人(範圍大於等於-1,小於等於全域設定的連麥人數),-1:使用全域設定的連麥人數
pureRtcEnabled false String 是否為無延遲直播,預設為N
Y:是
N:否
receive false String 是否為接收轉播頻道,不填或填其他值為發起轉播頻道(註:需要開啟頻道轉播功能該參數才生效)
Y:表示是
N:表示否
receiveChannelIds false String 接收轉播頻道號,多個頻道號用半形逗號隔開,如果receive參數值為Y時,此參數無效(註:需要開啟頻道轉播功能該參數才生效)
onlyOneLiveEnabled false String 頻道是否只能直播一次,預設為N
Y:是
N:否
coverImg false String 封面圖片地址
splashEnabled false String 引導頁開關,預設為N
Y:是
N:否
splashImg false String 引導圖地址
likes false Long 按讚數
pageView false Long 累積觀看數
closeDanmu false String 是否關閉彈幕功能的開關,
Y:表示關閉
N:表示不關閉
showDanmuInfoEnabled false String 是否顯示彈幕資訊開關,
Y:表示顯示
N:表示不顯示
subAccount false String 子帳號信箱,填寫時頻道會建立在該子帳號下(子帳號不能被刪除或停用),暫無法透過介面取得
authSettings參數說明
參數名 必填 類型 說明
rank true Integer 主要觀看條件為1,次要觀看條件為2
enabled true String 是否開啟條件觀看
N:關閉
Y:開啟
authType false String pay:付費觀看
code:驗證碼觀看
info:登記觀看
custom:自訂授權觀看
external:外部授權觀看
direct:獨立授權觀看
payAuthTips false String 當authType為pay時,設定參數,必填。歡迎語標題
price false Float 當authType為pay時,設定參數,必填。價格,單位為元
watchEndTime false String 當authType為pay時,設定參數,非必填。付費有效截止日期,格式:yyyy-MM-dd HH:mm
validTimePeriod false Integer 當authType為pay時,設定參數,非必填。付費有效時長,單位天。當watchEndTime和validTimePeriod都為空時,表示付費永久有效
authCode false String 當authType為code時,設定參數,必填。驗證碼
qcodeTips false String 當authType為code時,設定參數,非必填。提示文案
qcodeImg false String 當authType為code時,設定參數,非必填。公眾號QR Code地址
infoFields false Array 當authType為info時,設定參數,必填。登記觀看資訊,上限為5個【詳見infoFields欄位說明
externalKey false String 當authType為external時,設定參數,必填。SecretKey
externalUri false String 當authType為external時,設定參數,必填。自訂url
externalRedirectUri false String 當authType為external時,設定參數,非必填。跳轉地址
customKey false String 當authType為custom時,設定參數,必填。SecretKey
customUri false String 當authType為custom時,設定參數,必填。自訂url
directKey false String 當authType為direct時,設定參數,必填。獨立授權SecretKey
InfoField參數說明
參數名 必填 類型 說明
name false String 當authType為info時,設定參數,非必填。登記資訊名,最多為8字元
type false String 當authType為info時,設定參數,必填。登記類型
name:姓名
text:文字
mobile:手機號碼
number:數字
option:下拉選項
options false String 當authType為info時,設定參數,非必填。下拉選項時,下拉的選項值,以英文逗號分隔。選項個數上限為8個;選項內容最多為8字元
placeholder false String 當authType為info時,設定參數,非必填。文字框輸入提示,最多為8字元
sms false String 當authType為info時,設定參數,非必填。簡訊驗證開關,Y:開啟,N:關閉
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 講師暱稱,長度1~8位,預設為講師
actor false String 講師頭銜,長度1~8位,預設為講師
passwd false String 講師密碼(和basicSetting.channelPasswd說明一致,此處可不設定)
avatar false String 頭像圖片地址
roles參數說明
參數名 必填 類型 說明
nickname false String 角色暱稱,長度1~8位
actor false String 角色頭銜,長度1~8位
passwd false String 角色密碼
avatar false String 頭像圖片地址
role false String 角色類型
Assistant-助教
Guest-嘉賓

範例

http://api.polyv.net/live/v3/channel/basic/create?appId=frlr1zazn3&sign=A4433D6B4C9E5F34415EBACA2F206DDE&timestamp=1636706861620

請求主體json參數:

{
    "basicSetting": {
        "name": "测试子账号创建频道",
        "channelPasswd": "j12dno3a12",
        "maxViewer": 20,
        "subAccount": "test-dev@qq.com",
        "categoryId": 391352
    },
    "authSettings": [
        {
            "watchEndTime": 1616753886000,
            "rank": 1,
            "enabled": "Y",
            "authType": "external",
            "externalKey": "L0EjokKI4O",
            "externalUri": "http://demo.ipolyv.cn/chenwb/live-validate.php"
        }
    ]
}

回應參數說明

參數名 類型 說明
code Integer 回應狀態碼,200為成功返回,非200為失敗【詳見全域錯誤說明
status String 回應狀態文字資訊
message String 回應描述資訊,當code為400或500的時候,輔助描述錯誤原因
data Object 成功回應時返回頻道詳細資訊【詳見data欄位說明
Data參數說明
參數名 類型 說明
channelId String 直播頻道號
userId String POLYV使用者ID,和保利威官網一致,取得路徑:官網->登入->直播(開發設定)
name String 直播頻道名稱
publisher String 主持人
description String 直播頻道描述
url String 直播推流地址
stream String 直播流名稱
logoImage String 播放器logo
logoOpacity Float Logo不透明度
1:表示完全不透明
0:表示完全透明
logoPosition String logo位置
tr1:左上
tr:右上
b1:左下
br:右下
logoHref String Logo的跳轉連結
coverImage String 播放前顯示的封面圖
coverHref String 封面圖的跳轉連結
waitImage String 等待推流時的顯示圖片
waitHref String 等待推流時顯示圖片的跳轉連結
cutoffImage String 切斷流時的顯示圖片
cutoffHref String 切斷流時顯示圖片的跳轉連結
advertType String 片頭廣告
NONE:無廣告
IMAGE:圖片
FLV:影片
advertDuration Integer 廣告時長(秒)
advertWidth Integer 廣告區域寬度(像素)
advertHeight Integer 廣告區域高度(像素)
advertImage String 圖片廣告
advertHref String 廣告的跳轉連結
advertFlvVid String 影片廣告ID
advertFlvUrl String 影片廣告連結
playerColor String 播放器控制列顏色,例如 #666666
autoPlay Boolean 是否自動播放
warmUpFlv String 暖場影片連結
passwdRestrict Boolean 觀看密碼限制,需要輸入觀看密碼才能播放流
passwdEncrypted String 觀看密碼加密後的密文
isOnlyAudio String Y:音訊模式
N:普通模式
isLowLatency String 低延遲
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 目前時間戳記(毫秒)

Java請求範例

快速接入基礎程式碼請下載相關依賴原始碼點擊下載原始碼 ,下載後加入到自己的原始碼工程中即可。測試案例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下載檔案中。

強烈建議您使用直播Java SDK完成API的功能對接,直播Java SDK 對API呼叫邏輯、例外處理、資料簽章、HTTP請求執行緒池進行了統一封裝和最佳化。

private static final Logger log = LoggerFactory.getLogger(ChannelOperateTest.class);
/**
 * 创建单个频道
 * @throws IOException
 * @throws NoSuchAlgorithmException
 */
@Test
public void testBasicCreate() throws IOException, NoSuchAlgorithmException {
    //公共参数,填写自己的实际
    String appId = super.appId;
    String appSecret = super.appSecret;
    String userId = super.userId;
    String timestamp = String.valueOf(System.currentTimeMillis());
    //业务参数
    String url = "http://api.polyv.net/live/v3/channel/basic/create";
    
    //http 调用逻辑
    Map<String, String> requestMap = new HashMap<>();
    requestMap.put("appId", appId);
    requestMap.put("timestamp", timestamp);
    
    requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
    url = HttpUtil.appendUrl(url, requestMap);
    String json = "{\"basicSetting\":{\"name\":\"测试子账号创建频道\",\"channelPasswd\":\"j12dno3a12\",\"maxViewer\":20," +
    "\"subAccount\":\"test-dev@qq.com\",\"categoryId\":391352}," +
    "\"authSettings\":[{\"watchEndTime\":1616753886000,\"rank\":1,\"enabled\":\"Y\"," +
    "\"authType\":\"external\",\"externalKey\":\"L0EjokKI4O\",\"externalUri\":\"http://demo.polyv" +
    ".net/chenwb/live-validate.php\"}]}";
    String response = HttpUtil.postJsonBody(url, json, null);
    log.info("测试创建单个频道,返回值:{}", response);
    //do somethings
    
}
联系客服,在线咨询