メインコンテンツまでスキップ
非公開のページ
このページは非公開です。 検索対象外となり、このページのリンクに直接アクセスできるユーザーのみに公開されます。

Modular Extend SDK API 呼び出し応答の処理

Last updated on February 4, 2026

注釈:本資料はAI技術を用いて翻訳されています。

概要

AccelByte Gaming Services(AGS)Modular Extend SDK を使用して、エンドポイントを呼び出すことで AGS を拡張できます。SDK は複数のプログラミング言語で利用可能です。

このガイドでは、Modular Extend SDK を使用して AGS エンドポイントを呼び出す際の API レスポンスオブジェクトの操作方法について説明します。

Go

このセクションでは、Go 用 Modular Extend SDK のセットアップ手順について説明します。

前提条件

この SDK には go 1.18 以降のバージョンが必要です。

SDK プロジェクトのインポート

SDK を使用するには、プロジェクトの go.mod ファイルを更新します。以下を置き換えます:

require (
github.com/AccelByte/accelbyte-go-sdk {VERSION}
)

次のように置き換えます:

require (
github.com/AccelByte/accelbyte-go-modular-sdk/{service}-sdk {VERSION}
)

必要なサービスのみをインポートしてください。次に、{VERSION} を希望のリリースバージョンに置き換えます。新しいプロジェクトを開始する場合は、最新のリリースバージョンを使用してください。

備考
  • その他の例については、GitHub の Samples フォルダを参照してください。
  • 利用可能な Go Extend SDK モジュールのリストについては、Published Go Modules を参照してください。

環境変数

ConfigRepository を使用する場合、以下の環境変数を設定してください:

名前必須
AB_BASE_URLはいhttps://test.accelbyte.io
AB_CLIENT_IDはいabcdef0123456789abcdef0123456789
AB_CLIENT_SECRETはい(機密性の高い AB_CLIENT_ID を使用する場合)ab#c,d)ef(ab#c,d)ef(ab#c,d)ef(ab

API 呼び出しレスポンスの処理

Modular Extend SDK のすべての操作は、レスポンスオブジェクトを返します。このオブジェクトを使用して、呼び出しが成功したかどうかを確認し、レスポンスデータまたはエラーオブジェクトのいずれかを取得できます。

  • response.IsSuccess は、呼び出しが成功した場合は true になります。それ以外の場合は false になります。
  • response.Data オブジェクトは、エンドポイントがレスポンスを持つかどうかに応じてオプションです。
  • response.Error<status-code> には、呼び出しが失敗した場合のエラーオブジェクトが含まれます。それ以外の場合は null になります。
  • response.Unpack は、エンドポイントから返されたすべてのレスポンスを返します。
  • response.StatusCode は、エンドポイントから返された int ステータスコードを返します。

既知のエラーは、各モジュールの errors.go で利用可能です。例: <module-name>-sdk/pkg/<module-name>clientmodels/errors.go

response, err := userProfileService.GetMyProfileInfoShort(input)
if response.Error400 != nil {
// 何かを実行
} else {
ok := response.Data
// 何かを実行
response.Unpack // 戻り値で何かを実行
}

Python

このセクションでは、Python 用 Modular Extend SDK のセットアップ手順について説明します。

前提条件

この SDK には Python 3.9 以降が必要です。

Pip でインストール

  1. コアパッケージをインストールします:

    pip install accelbyte-py-sdk-core
  2. 必要なサービスをインストールします:

    pip install accelbyte-py-sdk-service-achievement
    pip install accelbyte-py-sdk-service-ams
    pip install accelbyte-py-sdk-service-basic
    pip install accelbyte-py-sdk-service-cloudsave
    pip install accelbyte-py-sdk-service-dslogmanager
    pip install accelbyte-py-sdk-service-dsmc
    pip install accelbyte-py-sdk-service-gametelemetry
    pip install accelbyte-py-sdk-service-gdpr
    pip install accelbyte-py-sdk-service-iam
    pip install accelbyte-py-sdk-service-leaderboard
    pip install accelbyte-py-sdk-service-legal
    pip install accelbyte-py-sdk-service-lobby
    pip install accelbyte-py-sdk-service-match2
    pip install accelbyte-py-sdk-service-matchmaking
    pip install accelbyte-py-sdk-service-platform
    pip install accelbyte-py-sdk-service-qosm
    pip install accelbyte-py-sdk-service-reporting
    pip install accelbyte-py-sdk-service-seasonpass
    pip install accelbyte-py-sdk-service-session
    pip install accelbyte-py-sdk-service-sessionbrowser
    pip install accelbyte-py-sdk-service-social
    pip install accelbyte-py-sdk-service-ugc
  3. 必要に応じて、追加機能をインストールします:

    pip install accelbyte-py-sdk-feat-auth
    pip install accelbyte-py-sdk-feat-token-validation

    またはすべての機能をインストールします。

    pip install accelbyte-py-sdk-all

環境変数

EnvironmentConfigRepository(デフォルト)を使用する場合、以下の環境変数を設定してください:

名前必須
AB_BASE_URLはいhttps://test.accelbyte.io
AB_CLIENT_IDはいabcdef0123456789abcdef0123456789
AB_CLIENT_SECRETはい(プライベート AB_CLIENT_ID を使用する場合)ab#c,d)ef(ab#c,d)ef(ab#c,d)ef(ab
AB_NAMESPACEはい。SDK は {namespace} パスパラメータを自動的に埋めます(上書き可能)accelbyte
AB_APP_NAMEいいえ。SDK は User-Agent ヘッダーを自動的に埋めます(上書き可能)MyApp
AB_APP_VERSIONいいえ。SDK は User-Agent ヘッダーを自動的に埋めます(上書き可能)1.0.0

API 呼び出しレスポンスの処理

すべての操作とそのラッパー関数は、操作に固有の ApiResponse サブクラスのインスタンスを返すようになりました。

from accelbyte_py_sdk.api.iam import public_create_user_v3


def main():
# ラッパー 'public_create_user_v3' は、
# `PublicCreateUserV3` 操作をラップします。これは、
# `ApiResponse` のサブクラスである
# `PublicCreateUserV3.Response` のインスタンスを返します。
#
# クラス `PublicCreateUserV3.Response` は、
# '__iter__' ダンダーメソッドも実装しており、
# `result, error` にアンパックして
# 以前の構文を維持できます。
#
# class PublicCreateUserV3(Operation):
# class Response(ApiResponse):
# def __iter__(self):
# yield data
# yield error
response = public_create_user_v3(...)
result, error = response
if error:
exit(1)


if __name__ == "__main__":
main()

ApiResponse オブジェクトの ok() メソッドを使用して、レスポンスが成功しなかった場合に Exception を発生させることもできます。

from accelbyte_py_sdk.api.iam import public_create_user_v3


def main():
response = public_create_user_v3(...).ok()
# または
# result, error = public_create_user_v3(...).ok()

if __name__ == "__main__":
main()

ApiResponse オブジェクトからのエラーをサービス内の既知のエラーと比較することもできます。

from accelbyte_py_sdk.api.iam import public_create_user_v3
from accelbyte_py_sdk.api.iam.errors import ERROR_10153, ERROR_10154 # IAM サービスの既知のエラー


def main():
response = public_create_user_v3(...)
if response.error:
# エラーコードを取得
error_code = response.error.code

# エラーメッセージを取得
error_message = response.error.message

# コードに応じてエラーを処理
# - ERROR_10153 = ApiError(code="10153", message="user exist")
# - ERROR_10154 = ApiError(code="10154", message="country not found")
if response.error.code == ERROR_10153.code:
do_something()
elif response.error.code == ERROR_10154.code:
do_something_else()

# 例外を発生させる
raise response.error.to_exception()


if __name__ == "__main__":
main()

Java

このセクションでは、Java 用 Modular Extend SDK のセットアップ手順について説明します。

前提条件

この SDK は JDK 8 と Gradle 7.5 を使用して開発されています。

Gradle 構成

gradle.build ファイルに以下を追加します。{VERSION}releases のリリースバージョンタグに置き換えてください。先頭の v 文字は除きます。

repositories {
mavenCentral()
}

dependencies {
...
implementation 'net.accelbyte.sdk:module-iam:{VERSION}'
}
注記

module-iam は AGS を使用するために必要な最小限の依存関係です。これは AGS IAM サービスをラップする SDK です。詳細については、GitHub の Samples フォルダを参照してください。

環境変数

DefaultConfigRepository を使用する場合、以下の環境変数を設定してください:

名前必須
AB_BASE_URLはいhttps://test.accelbyte.io
AB_CLIENT_IDはいabcdef0123456789abcdef0123456789
AB_CLIENT_SECRETはい(機密性の高い AB_CLIENT_ID を使用する場合)ab#c,d)ef(ab#c,d)ef(ab#c,d)ef(ab

API 呼び出しレスポンスの処理

Java 用 Modular Extend SDK のすべての操作は、レスポンスオブジェクトを返します。このオブジェクトを使用して、呼び出しが成功したかどうかを確認し、レスポンスデータまたはエラーオブジェクトのいずれかを取得できます。

  • isSuccess() ゲッターメソッドは、呼び出しが成功した場合は true になります。それ以外の場合は false になります。
  • getData() ゲッターメソッドには、サービスからのレスポンスデータが含まれます。このプロパティは、エンドポイントがレスポンスを持つかどうかに応じてオプションです。
  • getError() ゲッターメソッドには、呼び出しが失敗した場合のエラーオブジェクトが含まれます。それ以外の場合は null になります。

既知のエラーは、<ServiceName>Errors 静的クラスで利用可能です。例: BasicErrorsIamErrors など。

UserProfile userProfile = new UserProfile(sdk);

GetMyProfileInfoOpResponse response = userProfile.getMyProfileInfo(new GetMyProfileInfo("accelbyte"));

if (response.isSuccess())
{
// レスポンスデータで何かを実行
}
else
{
// レスポンスエラーオブジェクトで何かを実行

// エラーコードを取得
String errorCode = response.getError().getCode();

// エラーメッセージを取得
String errorMessage = response.getError().getMessage();

// または例外をスロー
response.getError().throwException();

// 既知のエラーと比較してより具体的なエラーを処理
if (response.getError().isEqualWith(BasicErrors.error11440))
{
// ユーザープロファイルが見つからない場合に何かを実行
}
}

C#

このセクションでは、C# 用 Modular Extend SDK のセットアップ手順について説明します。

前提条件

この SDK には .NET 8.0 SDK が必要です。

必要なパッケージのインストール

# AccelByte C# Extend SDK を使用するには、常にこれらのパッケージを含める
$ dotnet add package AccelByte.Sdk.Abstractions
$ dotnet add package AccelByte.Sdk.Core

# AGS への認証またはトークン検証を行うには、このパッケージを含める
$ dotnet add package AccelByte.Sdk.Authentication

# オプション機能パッケージ
$ dotnet add package AccelByte.Sdk.Feature.AutoRefreshToken
$ dotnet add package AccelByte.Sdk.Feature.LocalTokenValidation

# API パッケージ。必要に応じて 1 つ以上のパッケージを含めることができます。
$ dotnet add package AccelByte.Sdk.Api.<ApiName>

# 互換性レイヤー。このパッケージを使用して、モノリシック SDK バージョンとの互換性レイヤーを有効にします。
$ dotnet add package AccelByte.Sdk.Api.Compat

API パッケージの完全なリストは GitHub で確認できます。

環境変数

DefaultConfigRepository を使用する場合、以下の環境変数を設定する必要があります。

名前必須
AB_BASE_URLはいhttps://test.accelbyte.io
AB_CLIENT_IDはいabcdef0123456789abcdef0123456789
AB_CLIENT_SECRETはい(プライベート AB_CLIENT_ID を使用する場合)ab#c,d)ef(ab#c,d)ef(ab#c,d)ef(ab
AB_NAMESPACEはいaccelbyte

API 呼び出しレスポンスの処理

Modular Extend SDK のすべての操作は、レスポンスオブジェクトを返します。このオブジェクトを使用して、呼び出しが成功したかどうかを確認し、レスポンスデータまたはエラーオブジェクトのいずれかを取得できます。

  • IsSuccess プロパティは、呼び出しが成功した場合は true になります。それ以外の場合は false になります。
  • Data プロパティには、サービスからのレスポンスデータが含まれます。このプロパティは、エンドポイントがレスポンスを持つかどうかに応じてオプションです。
  • Error プロパティには、呼び出しが失敗した場合のエラーオブジェクトが含まれます。それ以外の場合は null になります。

既知のエラーは、<ServiceName>Errors 静的クラスで利用可能です。例: BasicErrorsIamErrors など。

var response = sdk.GetBasicApi().UserProfile.GetMyProfileInfoOp.Execute(sdk.Namespace);
if (response.IsSuccess)
{
// response.Data で何かを実行
}
else
{
// response.Error で何かを実行

// エラーコードを取得
string errorCode = response.Error.Code;

// エラーメッセージを取得
string errorMessage = response.Error.Message;

// または例外をスロー
response.Error.ThrowException();

// 既知のエラーと比較してより具体的なエラーを処理
if (response.Error == BasicErrors.Error11440)
{
// ユーザープロファイルが見つからない場合に何かを実行
}
}

EnsureSuccess() メソッドを使用して、レスポンスオブジェクトのデフォルトのエラーと null チェックを行う省略表記として使用できます。このメソッドは、エンドポイントがレスポンスを持つ場合、レスポンスデータを直接返します。

UserProfilePrivateInfo profileData = sdk.GetBasicApi().UserProfile.GetMyProfileInfoOp
.Execute(sdk.Namespace)
.EnsureSuccess();