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

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

Last updated on July 14, 2026

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

Overview​

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を使用する場合は、以下の環境変数を設定します。

NameRequiredExample
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 {
// Do something
} else {
ok := response.Data
// Do something
response.Unpack // Do something with the return value
}

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(デフォルト)を使用する場合は、以下の環境変数を設定します。

NameRequiredExample
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`クラスは、以前の構文を維持したまま
# `result, error`にアンパックできるように
# '__iter__'ダンダーメソッドも実装しています。
#
# 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()
# or
# 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 # known errors for the IAM service


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}は、先頭のv文字を除いたリリースのバージョンタグに置き換えます。

repositories {
mavenCentral()
}

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

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

環境変数​

DefaultConfigRepositoryを使用する場合は、以下の環境変数を設定します。

NameRequiredExample
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静的クラス(例:BasicErrors、IamErrorsなど)にあります。

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を使用する場合は、以下の環境変数を設定する必要があります。

NameRequiredExample
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静的クラス(例:BasicErrors、IamErrorsなど)にあります。

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();