上传伪直播互动脚本词条文本
更新时间:2025-05-13 09:20:33
接口描述
1、上传伪直播互动脚本精准发言文件
2、伪直播脚本不存时,会自动创建
3、文件内容解析添加到该互动脚本下
4、接口支持https协议
模板文件下载
接口URL
http://api.polyv.net/live/v4/channel/interaction-script/upload-disk-video-custom-script
请求方式
POST
接口约束
1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看
2、上传的文件不超过200M,格式限制为xlsx。
请求参数描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appId | true | String | 账号appId【详见获取密钥】 |
| timestamp | true | Long | 当前13位毫秒级时间戳,3分钟内有效 |
| sign | true | String | 签名,为32位大写的MD5值,生成签名的appSecret密钥作为通信数据安全的关键信息,严禁保存在客户端直接使用,所有API都必须通过客户自己服务器中转调用POLYV服务器获取响应数据【详见签名生成规则】 |
| channelId | true | String | 频道号 |
| diskVideoId | true | String | 伪直播视频id |
| labelId | false | Long | 平台内容库-成员库-成员组ID,通过 【平台内容库分组列表】获取 |
| file | true | File | 上传的模板文件不超过10M |
示例
http://api.polyv.net/live/v4/channel/interaction-script/upload-disk-video-custom-script
请求参数:
channelId=1965681×tamp=1621842842327&diskVideoId=test&appId=frlr1zazn3&sign=FC2296E942D2DB118C64C11AD941445D
表单参数:
file=file
响应参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 响应状态码,200为成功返回,非200为失败【详见全局错误说明】 |
| status | String | 响应状态文本信息 |
| message | String | 响应描述信息,当code为400或者500的时候,辅助描述错误原因 |
| data | Object | 请求成功时为上传文档的有关信息【详见Data参数描述】,请求失败时为空 |
Data参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| id | Integer | 脚本id |
Java请求示例
快速接入基础代码请下载相关依赖源码, 点击下载源代码 ,下载后加入到自己的源码工程中即可。测试用例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下载文件中。
强烈建议您使用直播Java SDK完成API的功能对接,直播Java SDK 对API调用逻辑、异常处理、数据签名、HTTP请求线程池进行了统一封装和优化。
private static final Logger log = LoggerFactory.getLogger(ChannelDocTest.class);
/**
* 上传互动脚本精准发言
* @throws IOException
*/
@Test
public void testUpload() 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/v4/channel/interaction-script/upload-disk-video-custom-script";
String channelId = "1965681";
String diskVideoId = "diskVideoId";
File file = new File("D:/%E7%B2%BE%E5%87%86%E5%8F%91%E8%A8%80%E6%A8%A1%E6%9D%BF.xlsx");
//http 调用逻辑
Map<String,String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp",timestamp);
requestMap.put("channelId",channelId);
requestMap.put("diskVideoId",diskVideoId);
Map<String,File> fileMap = new HashMap<>();
fileMap.put("file",file);
String sign = LiveSignUtil.getSign(requestMap, appSecret);
url += "?appId="+appId+"×tamp="+timestamp+"&channelId="+channelId+"&sign="+sign+"&diskVideoId="+diskVideoId;
String response = HttpUtil.postFile(url, null, fileMap,"utf-8");
log.info("测试上传文档到某个频道:{}",response);
//do somethings
}
响应示例
系统全局错误说明详见全局错误说明
成功示例
{
"code":200,
"status":"success",
"message":"",
"data":{
"id":"scriptId"
}
}
异常示例
{
"code": 400,
"status": "error",
"message": "invalid signature.",
"data": ""
}
