旧版接口地址创建单个角色(旧版)
接口描述
Copy 1、创建频道的助教或嘉宾角色
助教:使用助教管理后台,能够观看直播、参与互动、进行聊天室管理,发送图文直播,监控直播等操作
嘉宾:讲师和嘉宾可同时讲一堂课,支持连麦互动
2、(channelId, timestamp, appId)参与sign签名,并和sign一起通过url传递,请求体参数不参与签名,通过post请求体传递【请设置请求头contentType:application/json】
3、接口支持https协议
接口URL
Copy http://api.polyv.net/live/v4/channel/account/create
在线API调用
请求方式
接口约束
1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看
2、不能同时设置监播和翻页以及在线列表权限
3、每个直播频道最多可以创建150个助教,嘉宾最大数量为16
4、创建嘉宾需要设置频道连麦人数,开启连麦功能
请求参数描述
参数名 必选 类型 说明 签名,为32位大写的MD5值,生成签名的appSecret密钥作为通信数据安全的关键信息,严禁保存在客户端直接使用,所有API都必须通过客户自己服务器中转调用POLYV服务器获取响应数据
【详见签名生成规则 】
请求体参数描述
purviewList参数描述
参数名 必选 类型 说明 权限
chatListEnabled:在线列表(仅支持助教)
pageTurnEnabled:翻页(仅支持助教,且仅能设置一个助教有翻页权限)
monitorEnabled:监播(仅支持助教,且仅能设置一个助教有监播权限)
chatAuditEnabled:聊天审核(仅支持助教)
示例
Copy http://api.polyv.net/live/v4/channel/account/create?appId=frlr1zazn3&sign=02BBB29D3C5FE62157E6E0ED2AB5D844&channelId=2824409×tamp=1648778488853
请求体json参数:
Copy {
"actor" : "助教sadboy" ,
"role" : "Assistant" ,
"passwd" : "test123456" ,
"nickName" : "昵称sadboy" ,
"avatar" : "https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png" ,
"purviewList" : [
{
"code" : "chatListEnabled" ,
"enabled" : "N"
} ,
{
"code" : "monitorEnabled" ,
"enabled" : "Y"
}]
}
响应参数描述
参数名 类型 说明 状态码,与 http 状态码相同,用于确定基本的响应状态
响应结果,由业务决定,成功返回success,失败返回error
请求ID,每次请求生成的唯一的 UUID,仅可用于排查、调试,不应该和业务挂上钩
Error参数描述
data参数描述
Java请求示例
快速接入基础代码请下载相关依赖源码, 点击下载源代码 ,下载后加入到自己的源码工程中即可。测试用例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下载文件中。
强烈建议您使用直播Java SDK 完成API的功能对接,直播Java SDK 对API调用逻辑、异常处理、数据签名、HTTP请求线程池进行了统一封装和优化。
Copy private static final Logger log = LoggerFactory . getLogger ( ChannelOperateTest . class );
/**
* 创建角色
* @throws IOException
* @throws NoSuchAlgorithmException
*/
@ Test
public void testAddChannelAccount() throws IOException , NoSuchAlgorithmException {
//公共参数,填写自己的实际参数
String appId = super . appId ;
String appSecret = super . appSecret ;
String timestamp = String . valueOf ( System . currentTimeMillis ());
//业务参数
String url = "http://api.polyv.net/live/v4/channel/account/create" ;
String channelId = "2824409" ;
String role = "Assistant" ;
String actor = "助教sadboy" ;
String nickName = "昵称sadboy" ;
String avatar = "https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png" ;
String passwd = "test123456" ;
//http 调用逻辑
Map < String , String > requestMap = new HashMap <>();
requestMap . put ( "appId" , appId);
requestMap . put ( "timestamp" , timestamp);
requestMap . put ( "channelId" , channelId);
List < Map < String , String >> purviewList = new ArrayList <>();
Map < String , String > purviewMap1 = new HashMap <>();
purviewMap1 . put ( "code" , "chatListEnabled" );
purviewMap1 . put ( "enabled" , "N" );
purviewList . add (purviewMap1);
Map < String , String > purviewMap2 = new HashMap <>();
purviewMap2 . put ( "code" , "monitorEnabled" );
purviewMap2 . put ( "enabled" , "Y" );
purviewList . add (purviewMap2);
Map < String , Object > jsonMap = new HashMap <>();
jsonMap . put ( "role" , role);
jsonMap . put ( "actor" , actor);
jsonMap . put ( "nickName" , nickName);
jsonMap . put ( "avatar" , avatar);
jsonMap . put ( "passwd" , passwd);
jsonMap . put ( "purviewList" , purviewList);
requestMap . put ( "sign" , LiveSignUtil . getSign (requestMap , appSecret));
url = HttpUtil . appendUrl (url , requestMap);
String response = HttpUtil . postJsonBody (url , JSON . toJSONString (jsonMap) , null );
log . info ( "测试创建角色成功:{}" , response);
//do somethings
}
响应示例
系统全局错误说明详见全局错误说明
成功示例
Copy {
"code" : 200 ,
"status" : "success" ,
"requestId" : "86d11d4aa00b49f5993ac0891e670470.65.16487784917647731" ,
"data" :
{
"account" : "0062824409" ,
"userId" : "1b448be323" ,
"channelId" : 2824409 ,
"passwd" : "test123456" ,
"nickname" : "昵称sadboy" ,
"stream" : "l1fs56ih" ,
"status" : "Y" ,
"createdTime" : 1648778491961 ,
"lastModified" : 1648778491961 ,
"sort" : 6 ,
"avatar" : "//liveimages.videocc.net/uploaded/images/2022/04/g8fydrvq5l.png" ,
"actor" : "助教sadboy" ,
"pageTurnEnabled" : null ,
"notifyEnabled" : "Y" ,
"checkinEnabled" : "Y" ,
"voteEnabled" : "Y" ,
"lotteryEnabled" : "Y" ,
"chatListEnabled" : "N" ,
"chatAuditEnabled" : null ,
"monitorEnabled" : "Y" ,
"roundTourEnabled" : null ,
"watchLockEnabled" : null ,
"role" : "Assistant"
} ,
"success" : true
}
异常示例
Copy {
"code" : 400 ,
"status" : "error" ,
"requestId" : "d310b70bc329403f87f77f9203d50f89.128.16360831552223589" ,
"error" : {
"code" : 20001 ,
"desc" : "application not found."
} ,
"success" : false
}