添加节目到节目单中。
接口说明
请先创建新播单型导播台,添加新播单型导播台视频资源后再调用本接口添加导播台节目到节目单中。使用 API 创建导播台,请参见创建导播台。
每个节目单最多可添加 1000 个节目。
使用视频点播(VOD)资源,可优先选择托管 Bucket 资源,自有 Bucket 资源存在过期风险,如果您选用自有 Bucket 资源,需注意资源的有效期时间。
导播台素材资源输入请优先选择视频直播和视频点播的资源,若从第三方 URL 输入资源存在播放失败可能性,需确定资源的质量和有效性。
QPS 限制
本接口的单用户 QPS 限制为 10 次/秒。超过限制,API 调用会被限流,这可能会影响您的业务,请合理调用。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
live:AddShowIntoShowList | create | *Caster acs:live:*:{#accountId}:caster/{#CasterId} |
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
showList | array<object> | 否 | 需要添加的多个节目资源列表,每个资源都有独立的 showName,resourceUrl 等参数。 | |
object | 否 | 导播台列表信息。 | ||
duration | long | 否 | 单个节目播放时间长度,单位:秒。 说明
RepeatTimes 和 Duration 两者只允许设置其中一个。
| 20 |
liveInputType | integer | 否 | 自定义的类型标记。 | 1 |
repeatTimes | integer | 否 | 单个节目播放循环次数,默认为 0。 说明
| 0 |
resourceId | string | 否 | 点播文件 ID。 | a2b8e671-2fe5-4642-a2ec-bf93880e**** |
resourceType | string | 否 | 素材类型。取值:
说明
| vod |
resourceUrl | string | 否 | 播放文件 URL。 | http://****/atestObject****.m3u8 |
showName | string | 否 | 节目名称。 | liveShow**** |
CasterId | string | 是 | 导播台 ID。
说明
直播控制台云导播台页面导播台列表中的导播台名称即导播台 ID。
| LIVEPRODUCER_POST-cn-0pp1czt**** |
ShowName | string | 否 | 节目名称。 | liveShow**** |
ResourceType | string | 否 | 素材类型。取值:
说明
| vod |
ResourceUrl | string | 否 | 播放文件 URL。 | http://****/atestObject****.m3u8 |
ResourceId | string | 否 | 点播文件 ID。 | a2b8e671-2fe5-4642-a2ec-bf93880e**** |
Duration | long | 否 | 单个节目播放时间长度,单位:秒。 说明
RepeatTimes 和 Duration 两者只允许设置其中一个。
| 20 |
RepeatTimes | integer | 否 | 单个节目播放循环次数,默认为 0。 说明
| 0 |
Spot | integer | 否 | 插入到播放列表的位置。位置从 0 开始,默认添加到当前节目单的末尾。 | 1 |
LiveInputType | integer | 否 | 自定义的类型标记。 | 1 |
isBatchMode | boolean | 否 | 是否批量添加节目到节目单。取值:
说明
该参数不填,取值为空时,也表示单个添加。
| false |
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "987DA143-A39C-5B5D-AF5B-3B07944A0036",
"ShowId": "a2b8e671-2fe5-4642-a2ec-bf93880e****",
"failedList": "failedList[Show1, Show2...]",
"successfulShowIds": "f1933f16-5467-4308-b3a9-e8d451a90999,547436b8-c839-4469-a2c0-704c1ce5ce00"
}
错误码
HTTP status code | 错误码 | 错误信息 |
---|---|---|
400 | InvalidUserId.Malformed | %s |
400 | InvalidParameter.Malformed | %s |
400 | InvalidCasterId.Malformed | %s |
400 | InvalidVodUrl.Malformed | %s |
400 | MissingParameter | %s |
401 | IllegalOperation | %s |
404 | InvalidCaster.NotFound | %s |
404 | InvalidShowList.NotFound | %s |
500 | InternalError | %s |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|
代码示例
public static DefaultAcsClient initClient(String accessKeyId, String accessKeySecret) throws ClientException {
String regionId = "cn-shanghai";
DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);
DefaultAcsClient client = new DefaultAcsClient(profile);
return client;
}
private static CommonResponse addShowIntoShowList(DefaultAcsClient client, String showName, String resourceId, String resourceUrl,
String resourceType, Integer spot, Integer repeatTimes,
String casterId, Long duration) throws ClientException {
CommonRequest addShowIntoShowListRequest = new CommonRequest();
addShowIntoShowListRequest.setSysDomain("live.aliyuncs.com");
addShowIntoShowListRequest.setSysVersion("2016-11-01");
addShowIntoShowListRequest.setSysAction("AddShowIntoShowList");
if (casterId == null || resourceType == null) {
return null;
}
if (resourceId == null && resourceUrl == null) {
return null;
}
addShowIntoShowListRequest.putQueryParameter("CasterId", casterId);
addShowIntoShowListRequest.putQueryParameter("ResourceType", resourceType);
if (showName != null) {
addShowIntoShowListRequest.putQueryParameter("ShowName", showName);
}
if (resourceUrl != null) {
addShowIntoShowListRequest.putQueryParameter("ResourceUrl", resourceUrl);
}
if (resourceId != null) {
addShowIntoShowListRequest.putQueryParameter("ResourceId", resourceId);
}
if (spot != null) {
addShowIntoShowListRequest.putQueryParameter("Spot", spot.toString());
}
if (repeatTimes != null) {
addShowIntoShowListRequest.putQueryParameter("RepeatTimes", repeatTimes.toString());
}
if (duration != null) {
addShowIntoShowListRequest.putQueryParameter("Duration", duration.toString());
}
CommonResponse addShowIntoShowListResponse = client.getCommonResponse(addShowIntoShowListRequest);
return addShowIntoShowListResponse;
}
public void addshows() throws ClientException {
DefaultAcsClient client = initClient(ACCESS_KEY_ID, ACCESS_KEY_SECRET);
String[] resourceIds = new String[]{"698d2b23581f476ea71107703e647d1e", "9c97e83e211a435b9f797e4e20eeea27", "76c6addaa41c438985666a8a964fa5e5"};
for (int i = 0; i < resourceIds.length; i++) {
String showName = "ShowName#" + i;
Integer repeatTimes = i;
addShowIntoShowList(client, showName, resourceIds[i], null, "vod", null, repeatTimes, testCasterId, null);
}
}