# huaweicloud-sparkrtc-createapp-go **Repository Path**: HuaweiCloudDeveloper/huaweicloud-sparkrtc-createapp-go ## Basic Information - **Project Name**: huaweicloud-sparkrtc-createapp-go - **Description**: SparkRTC 创建应用 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master-dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-08-02 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 华为云实时音视频-应用管理场景示例(Go版本) ## 1. 介绍 ### 华为云实时音视频应用管理介绍 华为云实时音视频服务(SparkRTC)提供高并发、低延迟、高清流畅、安全可靠的全场景、全互动、全实时的**音视频服务**,适用于在线教育、云会议、社交文娱等场景。 ![img](https://support.huaweicloud.com/productdesc-rtc/zh-cn_image_0000001129807754.png) 华为云实时音视频服务提供了Web化的服务管理平台,即管理控制台和基于HTTPS请求的API(Application programming interface)管理方式 - **控制台方式** 用户可直接登陆管理控制台访问实时音视频服务 - **API方式** ​ 如果用户需要将华为云实时音视频服务进行二次开发,用户可通过API对华为云实时音视频服务进行 应用管理、录制管理、合流任务管理等相关操作 示例中演示了用户如何通过API的方式管理实时音视频服务。 下图为SparkRTC的入门操作流程 ![img](https://support.huaweicloud.com/qs-rtc/zh-cn_image_0277667312.png) 如需集成SparkRTC SDK进行实时音视频通话,需要先获取App ID和域名。获取方式分两种: 1. 在SparkRTC**控制台**中[创建应用](https://support.huaweicloud.com/usermanual-rtc/rtc_04_0001.html),获取App ID和域名 2. 调用API接口[创建应用](https://support.huaweicloud.com/api-rtc/CreateApp.html),获取App ID。域名可在控制台中查看 本示例展示用户如何通过华为云实时音视频的Go SDK来**创建应用**、**删除应用**、**查询应用列表**、和**查询单个应用**。 ## 2.安装SDK: 本示例基于华为云实时音视频SDK V3.0版本开发 ``` go get -u github.com/huaweicloud/huaweicloud-sdk-go-v3 ``` ## 3. 开始使用 #### 创建应用 ##### 描述 调用此接口创建应用。 ##### 示例代码 ```go package main import ( "fmt" "os" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/region" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" cloudrtc "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cloudrtc/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cloudrtc/v2/model" ) func main() { // 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") endpoint := "" projectID := "" regionInfo := "" appName := "" auth := basic.NewCredentialsBuilder(). WithProjectId(projectID). WithAk(ak). WithSk(sk). Build() client := cloudrtc.NewCloudRTCClient( cloudrtc.CloudRTCClientBuilder(). WithRegion(region.NewRegion(regionInfo, endpoint)). WithCredential(auth). Build()) req := &model.CreateAppRequest{ Body: &model.AppReq{ AppName: appName, }, } response, err := client.CreateApp(req) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } ``` #### 删除应用 ##### 描述 调用此接口删除应用。 ##### 示例代码 ```go package main import ( "fmt" "os" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/region" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" cloudrtc "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cloudrtc/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cloudrtc/v2/model" ) func main() { // 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") endpoint := "" projectID := "" regionInfo := "" appID := "" auth := basic.NewCredentialsBuilder(). WithProjectId(projectID). WithAk(ak). WithSk(sk). Build() client := cloudrtc.NewCloudRTCClient( cloudrtc.CloudRTCClientBuilder(). WithRegion(region.NewRegion(regionInfo, endpoint)). WithCredential(auth). Build()) req := &model.DeleteAppRequest{ AppId: appID, } response, err := client.DeleteApp(req) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } ``` #### 查询应用列表 ##### 描述 调用此接口查询应用列表。 ##### 示例代码 ```go package main import ( "fmt" "os" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/region" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" cloudrtc "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cloudrtc/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cloudrtc/v2/model" ) func main() { // 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") endpoint := "" projectID := "" regionInfo := "" auth := basic.NewCredentialsBuilder(). WithProjectId(projectID). WithAk(ak). WithSk(sk). Build() client := cloudrtc.NewCloudRTCClient( cloudrtc.CloudRTCClientBuilder(). WithRegion(region.NewRegion(regionInfo, endpoint)). WithCredential(auth). Build()) state := model.GetListAppsRequestStateEnum().ACTIVATION var offset int32 = 0 var limit int32 = 10 req := &model.ListAppsRequest{ State: &state, Offset: &offset, Limit: &limit, } response, err := client.ListApps(req) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } ``` #### 查询单个应用 ##### 描述 调用此接口查询单个应用。 ##### 示例代码 ```go package main import ( "fmt" "os" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/region" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" cloudrtc "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cloudrtc/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cloudrtc/v2/model" ) func main() { // 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") endpoint := "" projectID := "" regionInfo := "" appID := "" auth := basic.NewCredentialsBuilder(). WithProjectId(projectID). WithAk(ak). WithSk(sk). Build() client := cloudrtc.NewCloudRTCClient( cloudrtc.CloudRTCClientBuilder(). WithRegion(region.NewRegion(regionInfo, endpoint)). WithCredential(auth). Build()) req := &model.ShowAppRequest{ AppId: appID, } response, err := client.ShowApp(req) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } ``` ## 4.参考文件 - 华为云实时音视频[*《开发指南》*](https://support.huaweicloud.com/api-rtc/rtc_07_0001.html) - 华为云实时音视频[*《API参考》*](https://support.huaweicloud.com/api-rtc/rtc_07_0002.html) ## 5.修订记录 | 发布日期 | 文档版本 | 修订说明 | | :--------: | :------: | :----------: | | 2023-08-10 | 1.0 | 文档首次发布 |