すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo Live:Go 用サーバー SDK の使用

最終更新日:Nov 09, 2025

このトピックでは、ApsaraVideo Live が提供する Go 用サーバー SDK の使用方法について説明し、関連するサンプルコードを提供します。このトピックでは、ドメイン名を追加する API 操作を例として、ApsaraVideo Live API 操作を呼び出す方法を示します。

前提条件

Go 環境 1.10.x 以降。

手順

  1. にログインします。[クイックスタート] タブで ApsaraVideo Live の SDK インストール方法を見つけます。

    image

  2. プロジェクトを作成し、Credentials ツールを使用してアクセス認証情報を管理します。詳細については、「アクセス認証情報の管理」をご参照ください。

  3. リクエストを送信し、応答または例外を処理します。

    // このファイルは自動生成されたものです。編集しないでください。ありがとうございます。
    package main
    
    import (
      "encoding/json"
      "strings"
      "fmt"
      "os"
      live20161101  "github.com/alibabacloud-go/live-20161101/v2/client"
      openapi  "github.com/alibabacloud-go/darabonba-openapi/v2/client"
      util  "github.com/alibabacloud-go/tea-utils/v2/service"
      credential  "github.com/aliyun/credentials-go/credentials"
      "github.com/alibabacloud-go/tea/tea"
    )
    
    
    // 説明:
    // 
    // 認証情報を使用してクライアントを初期化します。
    // 
    // @return クライアント
    // 
    // @throws 例外
    func CreateClient () (_result *live20161101.Client, _err error) {
      // AccessKey ペアを使用するよりも安全な、認証情報不要のメソッドを使用します。認証情報の設定方法の詳細については、https://www.alibabacloud.com/help/document_detail/378661.html をご参照ください。
      credential, _err := credential.NewCredential(nil)
      if _err != nil {
        return _result, _err
      }
    
      config := &openapi.Config{
        Credential: credential,
      }
      // エンドポイントの詳細については、https://api.aliyun.com/product/live をご参照ください。
      config.Endpoint = tea.String("live.aliyuncs.com")
      _result = &live20161101.Client{}
      _result, _err = live20161101.NewClient(config)
      return _result, _err
    }
    
    func _main (args []*string) (_err error) {
      client, _err := CreateClient()
      if _err != nil {
        return _err
      }
    
      addLiveDomainRequest := &live20161101.AddLiveDomainRequest{}
      runtime := &util.RuntimeOptions{}
      tryErr := func()(_e error) {
        defer func() {
          if r := tea.Recover(recover()); r != nil {
            _e = r
          }
        }()
        // コードをコピーして実行する場合は、API の戻り値を出力します。
        _, _err = client.AddLiveDomainWithOptions(addLiveDomainRequest, runtime)
        if _err != nil {
          return _err
        }
    
        return nil
      }()
    
      if tryErr != nil {
        var error = &tea.SDKError{}
        if _t, ok := tryErr.(*tea.SDKError); ok {
          error = _t
        } else {
          error.Message = tea.String(tryErr.Error())
        }
        // 次のコードはデモンストレーションのみを目的としています。例外の処理は慎重に行ってください。プロジェクトで例外を無視しないでください。
        // エラーメッセージ。
        fmt.Println(tea.StringValue(error.Message))
        // 診断アドレス。
        var data interface{}
        d := json.NewDecoder(strings.NewReader(tea.StringValue(error.Data)))
        d.Decode(&data)
        if m, ok := data.(map[string]interface{}); ok {
          recommend, _ := m["Recommend"]
          fmt.Println(recommend)
        }
        _, _err = util.AssertAsString(error.Message)
        if _err != nil {
          return _err
        }
      }
      return _err
    }
    
    
    func main() {
      err := _main(tea.StringSlice(os.Args[1:]))
      if err != nil {
        panic(err)
      }
    }

詳細については、「関数別の操作リスト」をご参照ください。