Go SDK使用说明

本文介绍视频直播服务端Go SDK的使用方法和示例代码。以添加直播域名接口为例,帮助您快速掌握视频直播接口的使用方法。

前提条件

服务端已安装GO最新版本。

操作步骤

  1. 执行如下命令安装Go SDK。

    go get github.com/aliyun/alibaba-cloud-sdk-go/sdk

  2. 创建一个名为config.ini的配置文件放在建议目录conf中,其中包含AK/SK信息。配置文件的内容如下:

    access_key_id = YOUR_ACCESS_KEY_ID
    access_key_secret = YOUR_ACCESS_KEY_SECRET
  3. 请将YOUR_ACCESS_KEY_IDYOUR_ACCESS_KEY_SECRET替换为您的实际AK/SK值。

    需要在工程中配置相应的AccessKey ID 和AccessKey Secret,推荐使用启动参数和环境变量的形式。

  4. 初始化客户端。

package main

import (
	"fmt"
	"github.com/aliyun/alibaba-cloud-sdk-go/services/live"
	"github.com/go-ini/ini"
)

func main() {

	cfg, err := ini.Load("conf/config.ini")
	if err != nil {
		fmt.Print(err.Error())
	}

 // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
 // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
 // 本示例通过从配置文件中读取AccessKey,来实现API访问的身份验证。
	accessKeyID := cfg.Section("").Key("access_key_id").String()
	accessKeySecret := cfg.Section("").Key("access_key_secret").String()

	liveClient, err := live.NewClientWithAccessKey("cn-shanghai", accessKeyID, accessKeySecret)
	if err != nil {
		fmt.Print(err.Error())
	}
  1. 调用接口。此处以调用添加直播域名接口为例介绍。

package main

import (
	"fmt"
	"github.com/aliyun/alibaba-cloud-sdk-go/services/live"
	"github.com/go-ini/ini"
)

func main() {

	cfg, err := ini.Load("conf/config.ini")
	if err != nil {
		fmt.Print(err.Error())
	}

 // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
 // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
 // 本示例通过从配置文件中读取AccessKey,来实现API访问的身份验证。
	accessKeyID := cfg.Section("").Key("access_key_id").String()
	accessKeySecret := cfg.Section("").Key("access_key_secret").String()

	liveClient, err := live.NewClientWithAccessKey("cn-shanghai", accessKeyID, accessKeySecret)
	if err != nil {
		fmt.Print(err.Error())
	}

	request := live.CreateAddLiveDomainRequest()

	request.Scheme = "https"

	request.LiveDomainType = "liveVideo"
	request.Region = "XXX"
	request.DomainName = "XXX "

	response, err := liveClient.AddLiveDomain(request)
	if err != nil {
		fmt.Print(err.Error())
	}
	fmt.Printf("response is %#v\n", response)
}

更多API示例,请参见API概览