Go Modular Extend SDK の使用を開始する
注釈:本資料はAI技術を用いて翻訳されています。
概要
AccelByte Extend SDK は、開発者がバックエンドコードや CI/CD パイプラインなどの自動化から AccelByte Gaming Services (AGS) エンドポイントを呼び出すのを支援するために提供されています。Extend SDK は AGS OpenAPI 仕様から生成され、ログイン、トークンの更新、トークンの検証、HTTP リクエストの再試行などの必要な機能を提供します。使いやすいため、開発者はエンドポイントの呼び出し方法を考えることに時間を費やすのではなく、やりたいことに集中できます。
AccelByte Modular Extend SDK は、複数の選択されたプログラミング言語で利用できます。Go Modular Extend SDK を使用した基本を紹介します。
目標
このガイドでは、以下の方法を説明します:
- Go アプリケーションプロジェクトを作成する。
- Go Modular Extend SDK をプロジェクトの依存関係として追加する。
- Go Modular Extend SDK を使用して AGS エンドポイントを呼び出す。
- アプリケーションを実行する。
前提条件
このガイドのタスクを実行するには、以下が必要です:
- Go 1.18 以降がインストールされていること。
- AGS デモ環境へのアクセス権を取得していること:
AB_BASE_URL環境変数にはhttps://prod.gamingservices.accelbyte.ioを使用します。- OAuth クライアントの作成ガイドの手順に従い、
Confidentialクライアントタイプを使用します。Client IDとClient SecretをそれぞれAB_CLIENT_IDとAB_CLIENT_SECRET環境変数に使用します。
Go アプリケーションの作成と実行
-
Go アプリケーションプロジェクトを作成します。
フォルダを作成し、
go mod initを使用して新しい Go アプリケーションプロジェクトを作成します。mkdir getting-started
cd getting-started/
go mod init golang-application -
Go Modular Extend SDK をプロジェクトの依存関係として追加します。
このガイドでは、IAM サービスのみを使用するため、以下のコマンドを使用して IAM Service Module のみをプロジェクトにインストールします。
go get github.com/AccelByte/accelbyte-go-modular-sdk/iam-sdk備考他の AccelByte サービスの使用に興味がある場合は、利用可能な Go モジュールの包括的なリストをこちらでご覧ください。
-
Go Modular Extend SDK を使用して AGS エンドポイントを呼び出します。
Go Extend SDK を使用して AGS エンドポイントを呼び出すには、Go Extend SDK インスタンスを作成する必要があります。Oauth クライアント認証情報を使用してログインし、AGS エンドポイント
GetCountryLocationV3を呼び出します。これを行うには、以下の内容で新しいmain.goファイルを作成します。package main
import (
"fmt"
iam "github.com/AccelByte/accelbyte-go-modular-sdk/iam-sdk/pkg"
"github.com/AccelByte/accelbyte-go-modular-sdk/iam-sdk/pkg/iamclient/o_auth2_0_extension"
"github.com/AccelByte/accelbyte-go-modular-sdk/services-api/pkg/utils/auth"
)
var (
// use the default config and token implementation
configRepo = *auth.DefaultConfigRepositoryImpl()
tokenRepo = *auth.DefaultTokenRepositoryImpl()
)
func main() {
// prepare the IAM Oauth service
oauth := &iam.OAuth20Service{
Client: iam.NewIamClient(&configRepo),
ConfigRepository: &configRepo,
TokenRepository: &tokenRepo,
}
clientId := oauth.ConfigRepository.GetClientId()
clientSecret := oauth.ConfigRepository.GetClientSecret()
// call the endpoint tokenGrantV3Short through the wrapper 'LoginClient'
err := oauth.LoginClient(&clientId, &clientSecret)
if err != nil {
fmt.Println("failed login client")
} else {
fmt.Println("successful login")
}
// get the token
token, _ := oauth.TokenRepository.GetToken()
fmt.Printf("print %v\n", *token.AccessToken)
// prepare the IAM's Oauth 2.0 Extension service
oAuth20ExtensionService := &iam.OAuth20ExtensionService{
Client: iam.NewIamClient(&configRepo),
TokenRepository: &tokenRepo,
}
input := &o_auth2_0_extension.GetCountryLocationV3Params{}
// call an AccelByte Gaming Services API e.g. GetCountryLocationV3
ok, errLoc := oAuth20ExtensionService.GetCountryLocationV3Short(input)
if errLoc != nil {
fmt.Println(errLoc.Error())
} else {
fmt.Printf("Country name: %s\n", *ok.CountryName)
}
}ConfigRepositoryImplは、AB_BASE_URL、AB_CLIENT_ID、AB_CLIENT_SECRET環境変数から値を取得します。 -
アプリケーションを実行します。
必要な環境変数を設定してから、
go run main.goを使用してアプリケーションを実行します。$ export AB_BASE_URL="<your environment's domain URL>" # AGS Base URL e.g. demo environment
$ export AB_CLIENT_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # Put AGS OAuth Client ID
$ export AB_CLIENT_SECRET="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # Put AGS OAuth Client Secret
$ go run main.go
次のステップ
- 次のステップとして、Go Modular Extend SDK をプロジェクトの依存関係として追加し、独自のプロジェクトで使用することを検討できます。
リソース
- Go Modular Extend SDK のより高度な使用方法については、AccelByte Go Modular SDK ガイドを参照してください。
- Go Modular Extend SDK を使用した一般的なユースケースの例については、一般的なユースケースリストを参照してください。
- 呼び出す必要がある AGS エンドポイントがわかっていて、Go Modular Extend SDK を使用して呼び出したい場合は、Operations ドキュメントを参照してください。