更新时间:2024-12-20 GMT+08:00
分享

查询智能直播间列表

功能介绍

该接口用于智能直播间列表。

调用方法

请参见如何调用API

URI

GET /v1/{project_id}/smart-live-rooms

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方法请参考获取项目ID

表2 Query参数

参数

是否必选

参数类型

描述

offset

Integer

偏移量,表示从此偏移量开始查询。

取值范围:

0-2147483647

默认取值:

0

limit

Integer

每页显示的条目数量。

取值范围:

1-100

默认取值:

10

room_name

String

按直播间名称模糊查询。

dh_id

String

按数字人形象ID查询。

model_name

String

按形象名称模糊查询。

live_state

String

当前直播间直播状态。

WAITING,PROCESSING,SUCCESS,FAILED,CANCELED对应直播任务状态

NULL 对应没有直播任务

可多个状态查询,使用英文逗号分隔。

start_time

String

最近直播任务起始时间。格式遵循:RFC 3339 如“2021-01-10T08:43:17Z”。

end_time

String

结束时间。格式遵循:RFC 3339 如"2021-01-10T10:43:17Z"。

room_type

String

按直播间类型查询。直播间类型。

  • NORMAL:普通直播间,直播间一直存在,可以反复开播

  • TEMP:临时直播间,直播任务结束后自动清理直播间。

  • TEMPLATE:直播间模板。

template_own_type

String

按照自己拥有的和别人分享以及公共的模板进行查询

  • OWNED 自己拥有且暂未共享的

  • SHARED_TO_OHTERS 分享给别人的

  • SHARED_FROM_OHTERS 别人分享给我的

  • PUBLIC 公共模板

confirm_state

String

直播间确认状态。此状态仅用于特定用户需要人工确认场景。

  • unconfirm: 未确认

  • confirmed:已确认

  • reject: 拒绝

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。使用Token鉴权方式时必选。

通过调用IAM服务获取用户Token接口获取。

响应消息头中X-Subject-Token的值。

Authorization

String

使用AK/SK方式认证时必选,携带的鉴权信息。

X-Sdk-Date

String

使用AK/SK方式认证时必选,请求的发生时间。

格式为(YYYYMMDD'T'HHMMSS'Z')。

X-Project-Id

String

使用AK/SK方式认证时必选,携带项目ID信息。

X-App-UserId

String

第三方用户ID。不允许输入中文。

响应参数

状态码: 200

表4 响应Header参数

参数

参数类型

描述

X-Request-Id

String

请求ID。

表5 响应Body参数

参数

参数类型

描述

count

Integer

直播间总数。

取值范围:

0-2147483647

smart_live_rooms

Array of SmartLiveRoomBaseInfo objects

直播间列表。

表6 SmartLiveRoomBaseInfo

参数

参数类型

描述

room_id

String

直播间ID

project_id

String

租户id

room_name

String

直播间名称

room_type

String

直播间类型。

  • NORMAL:普通直播间,直播间一直存在,可以反复开播

  • TEMP:临时直播间,直播任务结束后自动清理直播间。

  • TEMPLATE:直播间模板。

默认取值:

NORMAL

room_state

String

直播间配置状态。

  • ENABLE: 直播间正常可用。

  • DISABLE: 直播间不可用。不可用原因在error_info中说明。

  • BLOCKED:直播间被冻结。冻结原因在error_info中说明。

view_mode

String

横竖屏类型。默认值为:VERTICAL。

  • LANDSCAPE:横屏。

  • VERTICAL: 竖屏。

默认取值:

VERTICAL

error_info

ErrorResponse object

数字人直播间出错信息。

shared_config

SharedConfig object

直播间模板分享信息,仅在直播间类型为template的时候不为空

room_description

String

直播间描述。

cover_url

String

直播间封面图URL

thumbnail

String

直播间封面图URL

model_infos

Array of ModelInfo objects

数字人模型信息

create_time

String

创建时间,格式遵循:RFC 3339 如“2021-01-10T08:43:17Z”。

update_time

String

更新时间,格式遵循:RFC 3339 如“2021-01-10T08:43:17Z”。

last_job_start_time

String

开始直播时间,格式遵循:RFC 3339 如“2021-01-10T08:43:17Z”。

last_job_end_time

String

结束直播时间,格式遵循:RFC 3339 如“2021-01-10T08:43:17Z”。

last_job_status

String

当前直播状态

  • WAITING:任务等待执行

  • PROCESSING:任务执行中

  • SUCCEED:任务处理成功

  • FAILED:任务处理时变

  • CANCELED:任务取消

  • BLOCKED:任务被冻结

priv_data

String

私有数据,用户填写,原样带回。

表7 ErrorResponse

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

表8 SharedConfig

参数

参数类型

描述

shared_type

String

参数解释

共享类型。

约束限制

该配置仅用于模板

取值范围

  • PRIVATE:私有,仅本租户可访问。

  • PUBLIC:公开,所有租户可访问。当前仅提供系统资产可公开访问。

  • SHARED:共享,指定租户可访问。拥有者指定租户可访问。

默认取值

不涉及。

shared_state

String

参数解释

共享状态。

约束限制

该配置仅用于shared_type为SHARED的模板。

取值范围

  • PUBLISHED:发布。模板可用。

  • DRAFT:草稿。编辑态,仅拥有者可访问。

  • REVIEW:审核态。不可编辑,仅拥有者/审核人员可查看。

默认取值

不涉及。

expire_time

String

参数解释

共享过期时间。空表示永久不过期。

约束限制

该配置仅用于shared_type为SHARED的模板。

格式遵循:RFC 3339,示例“20210110T08:43:17Z”。

取值范围

字符长度0-20位

默认取值

不涉及。

allowed_project_ids

Array of strings

参数解释

允许访问本资产的租户列表。

约束限制

该配置仅用于shared_type为SHARED的模板。

取值范围

最大支持100个租户,重复的记录会被忽略。

租户ID填写project_id,字符长度1-64位。

默认取值

不涉及。

表9 ModelInfo

参数

参数类型

描述

model_asset_id

String

模型资产ID,可以从资产库中查询。

asset_name

String

资产名称

backup_model_asset_ids

Array of strings

主播轮换时备选主播数字人资产ID(仅形象资产,不包含音色),可以从资产库中查询。

状态码: 400

表10 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

状态码: 401

表11 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

状态码: 500

表12 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

请求示例

GET https://{endpoint}/v1/70b76xxxxxx34253880af501cdxxxxxx/smart-live-rooms

响应示例

状态码: 200

成功。

{
  "count" : 1,
  "smart_live_rooms" : [ {
    "room_id" : "26f06524-4f75-4b3a-a853-b649a21aaf66",
    "room_name" : "大自然的传说",
    "room_description" : "课件",
    "create_time" : "2022-11-30T06:59:55Z",
    "update_time" : "2022-12-05T12:30:37Z"
  } ]
}

状态码: 400

{
  "error_code" : "MSS.00000003",
  "error_msg" : "Invalid parameter"
}

状态码: 401

{
  "error_code" : "MSS.00000001",
  "error_msg" : "Unauthorized"
}

状态码: 500

{
  "error_code" : "MSS.00000004",
  "error_msg" : "Internal Error"
}

SDK代码示例

SDK代码示例如下。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.metastudio.v1.region.MetaStudioRegion;
import com.huaweicloud.sdk.metastudio.v1.*;
import com.huaweicloud.sdk.metastudio.v1.model.*;


public class ListSmartLiveRoomsSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        String projectId = "{project_id}";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        MetaStudioClient client = MetaStudioClient.newBuilder()
                .withCredential(auth)
                .withRegion(MetaStudioRegion.valueOf("<YOUR REGION>"))
                .build();
        ListSmartLiveRoomsRequest request = new ListSmartLiveRoomsRequest();
        try {
            ListSmartLiveRoomsResponse response = client.listSmartLiveRooms(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkmetastudio.v1.region.metastudio_region import MetaStudioRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkmetastudio.v1 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

    client = MetaStudioClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(MetaStudioRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ListSmartLiveRoomsRequest()
        response = client.list_smart_live_rooms(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    metastudio "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/metastudio/v1"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/metastudio/v1/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/metastudio/v1/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    projectId := "{project_id}"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := metastudio.NewMetaStudioClient(
        metastudio.MetaStudioClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ListSmartLiveRoomsRequest{}
	response, err := client.ListSmartLiveRooms(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

成功。

400

请求传参异常,包含错误码及对应描述。

401

未鉴权或鉴权失败。

500

内部服务错误。

错误码

请参见错误码

相关文档