GS2-Experience SDK API リファレンス

モデル

Namespace

ネームスペース

ネームスペースは一つのプロジェクトで同じサービスを異なる用途で複数利用できるようにするための仕組みです。 GS2 のサービスは基本的にネームスペースというレイヤーがあり、ネームスペースが異なれば同じサービスでもまったく別のデータ空間として取り扱われます。

そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。

有効化条件必須デフォルト値の制限説明
namespaceIdstring~ 1024文字ネームスペースGRN
namestring~ 32文字ネームスペース名
descriptionstring~ 1024文字説明文
transactionSettingTransactionSettingトランザクション設定
rankCapScriptIdstring~ 1024文字ランクキャップを動的に決定するスクリプト
changeExperienceScriptScriptSetting経験値変化したときに実行するスクリプト
changeRankScriptScriptSettingランク変化したときに実行するスクリプト
changeRankCapScriptScriptSettingランクキャップ変化したときに実行するスクリプト
overflowExperienceScriptstring~ 1024文字経験値あふれしたときに実行するスクリプト
logSettingLogSettingログの出力設定
createdAtlong作成日時
updatedAtlong最終更新日時
revisionlong0~ 9223372036854775805リビジョン

ExperienceModelMaster

経験値モデルマスター

経験値モデルとは、ランクアップに必要な経験値の閾値や、デフォルトのランクキャップ・最大ランクキャップ毎に設定するエンティティです。

有効化条件必須デフォルト値の制限説明
experienceModelIdstring~ 1024文字経験値モデルマスターGRN
namestring~ 128文字経験値モデル名
descriptionstring~ 1024文字説明文
metadatastring~ 2048文字メタデータ
defaultExperiencelong0~ 9223372036854775805経験値の初期値
defaultRankCaplong~ 9223372036854775805ランクキャップの初期値
maxRankCaplong~ 9223372036854775805ランクキャップの最大値
rankThresholdNamestring~ 128文字ランクアップ閾値名
acquireActionRatesList<AcquireActionRate>~ 100 items報酬加算テーブルリスト
createdAtlong作成日時
updatedAtlong最終更新日時
revisionlong0~ 9223372036854775805リビジョン

ExperienceModel

経験値モデル

経験値モデルとは、ランクアップに必要な経験値の閾値や、デフォルトのランクキャップ・最大ランクキャップ毎に設定するエンティティです。

有効化条件必須デフォルト値の制限説明
experienceModelIdstring~ 1024文字経験値モデルGRN
namestring~ 128文字経験値モデル名
metadatastring~ 2048文字メタデータ
defaultExperiencelong0~ 9223372036854775805経験値の初期値
defaultRankCaplong~ 9223372036854775805ランクキャップの初期値
maxRankCaplong~ 9223372036854775805ランクキャップの最大値
rankThresholdThresholdランクアップ閾値
acquireActionRatesList<AcquireActionRate>~ 100 items報酬加算テーブルリスト

ThresholdMaster

ランクアップ閾値マスター

ランクアップ閾値は経験値からランク(レベル)を決定するために必要な数列です。 [10, 20] という値を設定した場合、経験値の値が 1~9 の間はランク1 10~19 の間はランク2 経験値の値が 20 でランク3 となりそれ以上経験値を入手することが出来なくなります。

有効化条件必須デフォルト値の制限説明
thresholdIdstring~ 1024文字ランクアップ閾値マスターGRN
namestring~ 128文字ランクアップ閾値名
descriptionstring~ 1024文字説明文
metadatastring~ 2048文字メタデータ
valuesList<long>1 ~ 1024 itemsランクアップ経験値閾値リスト
createdAtlong作成日時
updatedAtlong最終更新日時
revisionlong0~ 9223372036854775805リビジョン

Threshold

ランクアップ閾値

有効化条件必須デフォルト値の制限説明
metadatastring~ 2048文字メタデータ
valuesList<long>1 ~ 1024 itemsランクアップ経験値閾値リスト

AcquireActionRate

報酬加算テーブルマスター

ランクに応じて報酬の量を調整することができます。

有効化条件必須デフォルト値の制限説明
namestring~ 128文字報酬加算テーブル名
modeenum [
“double”,
“big”
]
“double”~ 128文字報酬加算テーブルの種類
ratesList<double>{mode} == “double”1 ~ 1000 itemsランクごとの加算量(倍率)
bigRatesList<string>{mode} == “big”1 ~ 1000 itemsランクごとの加算量(倍率)

CurrentExperienceMaster

現在有効なマスターデータ

GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。

JSONファイルを作成する方法として、マネージメントコンソール上でのマスターデータエディタを提供していますが よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。

JSONファイルの形式についてはドキュメントを参照ください。

有効化条件必須デフォルト値の制限説明
namespaceIdstring~ 1024文字現在有効な経験値設定GRN
settingsstring~ 5242880文字マスターデータ

Status

ステータス

ステータスとはプロパティID毎に存在するエンティティで、 現在の経験値やランクキャップの値を保持します。

プロパティID とはステータス固有のIDで、開発者が任意の値を設定できます。 GS2 では経験値を有する GS2-Inventory のアイテムセットGRN や GS2-Dictionary のエントリーGRN の後ろに 経験値モデルとなるサフィックスを追加した値をプロパティIDとすることを推奨しています。

有効化条件必須デフォルト値の制限説明
statusIdstring~ 1024文字ステータスGRN
experienceNamestring~ 128文字経験値モデルの名前
userIdstring~ 128文字ユーザーID
propertyIdstring~ 1024文字プロパティID
experienceValuelong0~ 9223372036854775805累計獲得経験値
rankValuelong0~ 9223372036854775805現在のランク
rankCapValuelong~ 9223372036854775805現在のランクキャップ
nextRankUpExperienceValuelong0~ 9223372036854775805次のランクアップの計経験値量
createdAtlong作成日時
updatedAtlong最終更新日時
revisionlong0~ 9223372036854775805リビジョン

AcquireAction

入手アクション

有効化条件必須デフォルト値の制限説明
actionenum [
"Gs2AdReward:AcquirePointByUserId",
"Gs2Dictionary:AddEntriesByUserId",
"Gs2Enchant:ReDrawBalanceParameterStatusByUserId",
"Gs2Enchant:SetBalanceParameterStatusByUserId",
"Gs2Enchant:ReDrawRarityParameterStatusByUserId",
"Gs2Enchant:AddRarityParameterStatusByUserId",
"Gs2Enchant:SetRarityParameterStatusByUserId",
"Gs2Enhance:DirectEnhanceByUserId",
"Gs2Enhance:UnleashByUserId",
"Gs2Enhance:CreateProgressByUserId",
"Gs2Exchange:ExchangeByUserId",
"Gs2Exchange:IncrementalExchangeByUserId",
"Gs2Exchange:UnlockIncrementalExchangeByUserId",
"Gs2Exchange:CreateAwaitByUserId",
"Gs2Exchange:SkipByUserId",
"Gs2Experience:AddExperienceByUserId",
"Gs2Experience:SetExperienceByUserId",
"Gs2Experience:AddRankCapByUserId",
"Gs2Experience:SetRankCapByUserId",
"Gs2Experience:MultiplyAcquireActionsByUserId",
"Gs2Formation:AddMoldCapacityByUserId",
"Gs2Formation:SetMoldCapacityByUserId",
"Gs2Formation:AcquireActionsToFormProperties",
"Gs2Formation:SetFormByUserId",
"Gs2Formation:AcquireActionsToPropertyFormProperties",
"Gs2Grade:AddGradeByUserId",
"Gs2Grade:ApplyRankCapByUserId",
"Gs2Grade:MultiplyAcquireActionsByUserId",
"Gs2Idle:IncreaseMaximumIdleMinutesByUserId",
"Gs2Idle:SetMaximumIdleMinutesByUserId",
"Gs2Inbox:SendMessageByUserId",
"Gs2Inventory:AddCapacityByUserId",
"Gs2Inventory:SetCapacityByUserId",
"Gs2Inventory:AcquireItemSetByUserId",
"Gs2Inventory:AcquireItemSetWithGradeByUserId",
"Gs2Inventory:AddReferenceOfByUserId",
"Gs2Inventory:DeleteReferenceOfByUserId",
"Gs2Inventory:AcquireSimpleItemsByUserId",
"Gs2Inventory:SetSimpleItemsByUserId",
"Gs2Inventory:AcquireBigItemByUserId",
"Gs2Inventory:SetBigItemByUserId",
"Gs2JobQueue:PushByUserId",
"Gs2Limit:CountDownByUserId",
"Gs2Limit:DeleteCounterByUserId",
"Gs2LoginReward:DeleteReceiveStatusByUserId",
"Gs2LoginReward:UnmarkReceivedByUserId",
"Gs2Lottery:DrawByUserId",
"Gs2Lottery:ResetBoxByUserId",
"Gs2Mission:RevertReceiveByUserId",
"Gs2Mission:IncreaseCounterByUserId",
"Gs2Mission:SetCounterByUserId",
"Gs2Money:DepositByUserId",
"Gs2Money:RevertRecordReceipt",
"Gs2Quest:CreateProgressByUserId",
"Gs2Schedule:TriggerByUserId",
"Gs2SerialKey:RevertUseByUserId",
"Gs2Showcase:DecrementPurchaseCountByUserId",
"Gs2Showcase:ForceReDrawByUserId",
"Gs2SkillTree:MarkReleaseByUserId",
"Gs2Stamina:RecoverStaminaByUserId",
"Gs2Stamina:RaiseMaxValueByUserId",
"Gs2Stamina:SetMaxValueByUserId",
"Gs2Stamina:SetRecoverIntervalByUserId",
"Gs2Stamina:SetRecoverValueByUserId",
"Gs2StateMachine:StartStateMachineByUserId",
]
~ 128文字スタンプシートを使用して実行するアクションの種類
requeststring~ 1048576文字リクエストのJSON

GitHubCheckoutSetting

GitHubからマスターデータをチェックアウトする設定

有効化条件必須デフォルト値の制限説明
apiKeyIdstring~ 1024文字GitHub のAPIキーGRN
repositoryNamestring~ 1024文字リポジトリ名
sourcePathstring~ 1024文字ソースコードのファイルパス
referenceTypeenum [
“commit_hash”,
“branch”,
“tag”
]
~ 128文字コードの取得元
commitHashstring{referenceType} == “commit_hash”~ 1024文字コミットハッシュ
branchNamestring{referenceType} == “branch”~ 1024文字ブランチ名
tagNamestring{referenceType} == “tag”~ 1024文字タグ名

ScriptSetting

スクリプト設定

GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。

スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 かわりに、スクリプトの実行結果を使ってAPIの実行を止めたり、APIの結果を改ざんすることができます。

一方、非同期実行は、スクリプトの実行が完了するまで処理がブロックされません。 かわりに、スクリプトの実行結果を使ってAPIの実行を止めたり、APIの結果を改ざんすることはできません。 しかし、非同期実行は、スクリプトの実行が完了するまで処理がブロックされないため、APIの応答に影響を与えないため、原則非同期実行を使用することをおすすめします。

非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。

有効化条件必須デフォルト値の制限説明
triggerScriptIdstring~ 1024文字スクリプトGRN
doneTriggerTargetTypeenum [
“none”,
“gs2_script”,
“aws”
]
“none”~ 128文字完了通知の通知先
doneTriggerScriptIdstring{doneTriggerTargetType} == “gs2_script”~ 1024文字スクリプトGRN
doneTriggerQueueNamespaceIdstring{doneTriggerTargetType} == “gs2_script”~ 1024文字ネームスペースGRN

LogSetting

ログの書き出し設定

ログデータの書き出し設定を管理します。この型は、ログデータを書き出すために使用されるログ名前空間の識別子(Namespace ID)を保持します。 ログ名前空間IDは、ログデータを集約し、保存する対象の GS2-Log の名前空間を指定します。 この設定を通じて、この名前空間以下のAPIリクエスト・レスポンスログデータが対象の GS2-Log へ出力されるようになります。 GS2-Log にはリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。

有効化条件必須デフォルト値の制限説明
loggingNamespaceIdstring~ 1024文字ネームスペースGRN

TransactionSetting

トランザクション設定

有効化条件必須デフォルト値の制限説明
enableAutoRunboolfalse発行したスタンプシートをサーバーサイドで自動的に実行するか
distributorNamespaceIdstring“grn:gs2:{region}:{ownerId}:distributor:default”~ 1024文字スタンプシートの実行に使用する GS2-Distributor ネームスペース
keyIdstring!{enableAutoRun}“grn:gs2:{region}:{ownerId}:key:default:key:default”~ 1024文字スタンプシートの署名に使用する GS2-Key の暗号鍵
queueNamespaceIdstring“grn:gs2:{region}:{ownerId}:queue:default”~ 1024文字スタンプシートの実行に使用する GS2-JobQueue のネームスペース

メソッド

describeNamespaces

ネームスペースの一覧を取得

Request

有効化条件必須デフォルト値の制限説明
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数

Result

説明
itemsList<Namespace>ネームスペースのリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.DescribeNamespaces(
    &experience.DescribeNamespacesRequest {
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\DescribeNamespacesRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeNamespaces(
        (new DescribeNamespacesRequest())
            ->withPageToken(null)
            ->withLimit(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.DescribeNamespacesRequest;
import io.gs2.experience.result.DescribeNamespacesResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    DescribeNamespacesResult result = client.describeNamespaces(
        new DescribeNamespacesRequest()
            .withPageToken(null)
            .withLimit(null)
    );
    List<Namespace> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.DescribeNamespacesRequest;
using Gs2.Gs2Experience.Result.DescribeNamespacesResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.DescribeNamespacesResult> asyncResult = null;
yield return client.DescribeNamespaces(
    new Gs2.Gs2Experience.Request.DescribeNamespacesRequest()
        .WithPageToken(null)
        .WithLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.describeNamespaces(
        new Gs2Experience.DescribeNamespacesRequest()
            .withPageToken(null)
            .withLimit(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.describe_namespaces(
        experience.DescribeNamespacesRequest()
            .with_page_token(None)
            .with_limit(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.describe_namespaces({
    pageToken=nil,
    limit=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

createNamespace

ネームスペースを新規作成

Request

有効化条件必須デフォルト値の制限説明
namestring~ 32文字ネームスペース名
descriptionstring~ 1024文字説明文
transactionSettingTransactionSettingトランザクション設定
rankCapScriptIdstring~ 1024文字ランクキャップを動的に決定するスクリプト
changeExperienceScriptScriptSetting経験値変化したときに実行するスクリプト
changeRankScriptScriptSettingランク変化したときに実行するスクリプト
changeRankCapScriptScriptSettingランクキャップ変化したときに実行するスクリプト
overflowExperienceScriptstring~ 1024文字経験値あふれしたときに実行するスクリプト
logSettingLogSettingログの出力設定

Result

説明
itemNamespace作成したネームスペース

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.CreateNamespace(
    &experience.CreateNamespaceRequest {
        Name: pointy.String("namespace1"),
        Description: nil,
        TransactionSetting: nil,
        RankCapScriptId: nil,
        ChangeExperienceScript: nil,
        ChangeRankScript: nil,
        ChangeRankCapScript: nil,
        OverflowExperienceScript: nil,
        LogSetting: &experience.LogSetting{
            LoggingNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1"),
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\CreateNamespaceRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->createNamespace(
        (new CreateNamespaceRequest())
            ->withName(self::namespace1)
            ->withDescription(null)
            ->withTransactionSetting(null)
            ->withRankCapScriptId(null)
            ->withChangeExperienceScript(null)
            ->withChangeRankScript(null)
            ->withChangeRankCapScript(null)
            ->withOverflowExperienceScript(null)
            ->withLogSetting((new \Gs2\Experience\Model\LogSetting())
                ->withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:\namespace1"))
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.CreateNamespaceRequest;
import io.gs2.experience.result.CreateNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    CreateNamespaceResult result = client.createNamespace(
        new CreateNamespaceRequest()
            .withName("namespace1")
            .withDescription(null)
            .withTransactionSetting(null)
            .withRankCapScriptId(null)
            .withChangeExperienceScript(null)
            .withChangeRankScript(null)
            .withChangeRankCapScript(null)
            .withOverflowExperienceScript(null)
            .withLogSetting(new io.gs2.experience.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1"))
    );
    Namespace item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.CreateNamespaceRequest;
using Gs2.Gs2Experience.Result.CreateNamespaceResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.CreateNamespaceResult> asyncResult = null;
yield return client.CreateNamespace(
    new Gs2.Gs2Experience.Request.CreateNamespaceRequest()
        .WithName("namespace1")
        .WithDescription(null)
        .WithTransactionSetting(null)
        .WithRankCapScriptId(null)
        .WithChangeExperienceScript(null)
        .WithChangeRankScript(null)
        .WithChangeRankCapScript(null)
        .WithOverflowExperienceScript(null)
        .WithLogSetting(new Gs2.Gs2Experience.Model.LogSetting()
            .WithLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1")),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.createNamespace(
        new Gs2Experience.CreateNamespaceRequest()
            .withName("namespace1")
            .withDescription(null)
            .withTransactionSetting(null)
            .withRankCapScriptId(null)
            .withChangeExperienceScript(null)
            .withChangeRankScript(null)
            .withChangeRankCapScript(null)
            .withOverflowExperienceScript(null)
            .withLogSetting(new Gs2Experience.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1"))
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.create_namespace(
        experience.CreateNamespaceRequest()
            .with_name(self.hash1)
            .with_description(None)
            .with_transaction_setting(None)
            .with_rank_cap_script_id(None)
            .with_change_experience_script(None)
            .with_change_rank_script(None)
            .with_change_rank_cap_script(None)
            .with_overflow_experience_script(None)
            .with_log_setting(
                experience.LogSetting()
                    .with_logging_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1'))
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.create_namespace({
    name="namespace1",
    description=nil,
    transactionSetting=nil,
    rankCapScriptId=nil,
    changeExperienceScript=nil,
    changeRankScript=nil,
    changeRankCapScript=nil,
    overflowExperienceScript=nil,
    logSetting={
        loggingNamespaceId="grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1",
    },
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

getNamespaceStatus

ネームスペースの状態を取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名

Result

説明
statusstring

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.GetNamespaceStatus(
    &experience.GetNamespaceStatusRequest {
        NamespaceName: pointy.String("namespace1"),
    }
)
if err != nil {
    panic("error occurred")
}
status := result.Status
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\GetNamespaceStatusRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getNamespaceStatus(
        (new GetNamespaceStatusRequest())
            ->withNamespaceName(self::namespace1)
    );
    $status = $result->getStatus();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.GetNamespaceStatusRequest;
import io.gs2.experience.result.GetNamespaceStatusResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    GetNamespaceStatusResult result = client.getNamespaceStatus(
        new GetNamespaceStatusRequest()
            .withNamespaceName("namespace1")
    );
    String status = result.getStatus();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.GetNamespaceStatusRequest;
using Gs2.Gs2Experience.Result.GetNamespaceStatusResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.GetNamespaceStatusResult> asyncResult = null;
yield return client.GetNamespaceStatus(
    new Gs2.Gs2Experience.Request.GetNamespaceStatusRequest()
        .WithNamespaceName("namespace1"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var status = result.Status;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.getNamespaceStatus(
        new Gs2Experience.GetNamespaceStatusRequest()
            .withNamespaceName("namespace1")
    );
    const status = result.getStatus();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.get_namespace_status(
        experience.GetNamespaceStatusRequest()
            .with_namespace_name(self.hash1)
    )
    status = result.status
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.get_namespace_status({
    namespaceName="namespace1",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
status = result.status;

getNamespace

ネームスペースを取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名

Result

説明
itemNamespaceネームスペース

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.GetNamespace(
    &experience.GetNamespaceRequest {
        NamespaceName: pointy.String("namespace1"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\GetNamespaceRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getNamespace(
        (new GetNamespaceRequest())
            ->withNamespaceName(self::namespace1)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.GetNamespaceRequest;
import io.gs2.experience.result.GetNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    GetNamespaceResult result = client.getNamespace(
        new GetNamespaceRequest()
            .withNamespaceName("namespace1")
    );
    Namespace item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.GetNamespaceRequest;
using Gs2.Gs2Experience.Result.GetNamespaceResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.GetNamespaceResult> asyncResult = null;
yield return client.GetNamespace(
    new Gs2.Gs2Experience.Request.GetNamespaceRequest()
        .WithNamespaceName("namespace1"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.getNamespace(
        new Gs2Experience.GetNamespaceRequest()
            .withNamespaceName("namespace1")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.get_namespace(
        experience.GetNamespaceRequest()
            .with_namespace_name(self.hash1)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.get_namespace({
    namespaceName="namespace1",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

updateNamespace

ネームスペースを更新

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
descriptionstring~ 1024文字説明文
transactionSettingTransactionSettingトランザクション設定
rankCapScriptIdstring~ 1024文字ランクキャップを動的に決定するスクリプト
changeExperienceScriptScriptSetting経験値変化したときに実行するスクリプト
changeRankScriptScriptSettingランク変化したときに実行するスクリプト
changeRankCapScriptScriptSettingランクキャップ変化したときに実行するスクリプト
overflowExperienceScriptstring~ 1024文字経験値あふれしたときに実行するスクリプト
logSettingLogSettingログの出力設定

Result

説明
itemNamespace更新したネームスペース

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.UpdateNamespace(
    &experience.UpdateNamespaceRequest {
        NamespaceName: pointy.String("namespace1"),
        Description: pointy.String("description1"),
        TransactionSetting: nil,
        RankCapScriptId: nil,
        ChangeExperienceScript: &experience.ScriptSetting{
            TriggerScriptId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1002"),
            DoneTriggerScriptId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1003"),
        },
        ChangeRankScript: &experience.ScriptSetting{
            TriggerScriptId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1004"),
            DoneTriggerScriptId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1005"),
        },
        ChangeRankCapScript: &experience.ScriptSetting{
            TriggerScriptId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1006"),
            DoneTriggerScriptId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1007"),
        },
        OverflowExperienceScript: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1008"),
        LogSetting: &experience.LogSetting{
            LoggingNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1"),
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\UpdateNamespaceRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateNamespace(
        (new UpdateNamespaceRequest())
            ->withNamespaceName(self::namespace1)
            ->withDescription("description1")
            ->withTransactionSetting(null)
            ->withRankCapScriptId(null)
            ->withChangeExperienceScript((new \Gs2\Experience\Model\ScriptSetting())
                ->withTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:\namespace1:script:script-1002")
                ->withDoneTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:\namespace1:script:script-1003"))
            ->withChangeRankScript((new \Gs2\Experience\Model\ScriptSetting())
                ->withTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:\namespace1:script:script-1004")
                ->withDoneTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:\namespace1:script:script-1005"))
            ->withChangeRankCapScript((new \Gs2\Experience\Model\ScriptSetting())
                ->withTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:\namespace1:script:script-1006")
                ->withDoneTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:\namespace1:script:script-1007"))
            ->withOverflowExperienceScript("grn:gs2:ap-northeast-1:YourOwnerId:script:\namespace1:script:script-1008")
            ->withLogSetting((new \Gs2\Experience\Model\LogSetting())
                ->withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:\namespace1"))
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.UpdateNamespaceRequest;
import io.gs2.experience.result.UpdateNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    UpdateNamespaceResult result = client.updateNamespace(
        new UpdateNamespaceRequest()
            .withNamespaceName("namespace1")
            .withDescription("description1")
            .withTransactionSetting(null)
            .withRankCapScriptId(null)
            .withChangeExperienceScript(new io.gs2.experience.model.ScriptSetting()
                .withTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1002")
                .withDoneTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1003"))
            .withChangeRankScript(new io.gs2.experience.model.ScriptSetting()
                .withTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1004")
                .withDoneTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1005"))
            .withChangeRankCapScript(new io.gs2.experience.model.ScriptSetting()
                .withTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1006")
                .withDoneTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1007"))
            .withOverflowExperienceScript("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1008")
            .withLogSetting(new io.gs2.experience.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1"))
    );
    Namespace item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.UpdateNamespaceRequest;
using Gs2.Gs2Experience.Result.UpdateNamespaceResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.UpdateNamespaceResult> asyncResult = null;
yield return client.UpdateNamespace(
    new Gs2.Gs2Experience.Request.UpdateNamespaceRequest()
        .WithNamespaceName("namespace1")
        .WithDescription("description1")
        .WithTransactionSetting(null)
        .WithRankCapScriptId(null)
        .WithChangeExperienceScript(new Gs2.Gs2Experience.Model.ScriptSetting()
            .WithTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1002")
            .WithDoneTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1003"))
        .WithChangeRankScript(new Gs2.Gs2Experience.Model.ScriptSetting()
            .WithTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1004")
            .WithDoneTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1005"))
        .WithChangeRankCapScript(new Gs2.Gs2Experience.Model.ScriptSetting()
            .WithTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1006")
            .WithDoneTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1007"))
        .WithOverflowExperienceScript("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1008")
        .WithLogSetting(new Gs2.Gs2Experience.Model.LogSetting()
            .WithLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1")),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.updateNamespace(
        new Gs2Experience.UpdateNamespaceRequest()
            .withNamespaceName("namespace1")
            .withDescription("description1")
            .withTransactionSetting(null)
            .withRankCapScriptId(null)
            .withChangeExperienceScript(new Gs2Experience.model.ScriptSetting()
                .withTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1002")
                .withDoneTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1003"))
            .withChangeRankScript(new Gs2Experience.model.ScriptSetting()
                .withTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1004")
                .withDoneTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1005"))
            .withChangeRankCapScript(new Gs2Experience.model.ScriptSetting()
                .withTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1006")
                .withDoneTriggerScriptId("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1007"))
            .withOverflowExperienceScript("grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1008")
            .withLogSetting(new Gs2Experience.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1"))
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.update_namespace(
        experience.UpdateNamespaceRequest()
            .with_namespace_name(self.hash1)
            .with_description('description1')
            .with_transaction_setting(None)
            .with_rank_cap_script_id(None)
            .with_change_experience_script(
                experience.ScriptSetting()
                    .with_trigger_script_id('grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1002')
                    .with_done_trigger_script_id('grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1003'))
            .with_change_rank_script(
                experience.ScriptSetting()
                    .with_trigger_script_id('grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1004')
                    .with_done_trigger_script_id('grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1005'))
            .with_change_rank_cap_script(
                experience.ScriptSetting()
                    .with_trigger_script_id('grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1006')
                    .with_done_trigger_script_id('grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1007'))
            .with_overflow_experience_script('grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1008')
            .with_log_setting(
                experience.LogSetting()
                    .with_logging_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1'))
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.update_namespace({
    namespaceName="namespace1",
    description="description1",
    transactionSetting=nil,
    rankCapScriptId=nil,
    changeExperienceScript={
        triggerScriptId="grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1002",
        doneTriggerScriptId="grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1003",
    },
    changeRankScript={
        triggerScriptId="grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1004",
        doneTriggerScriptId="grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1005",
    },
    changeRankCapScript={
        triggerScriptId="grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1006",
        doneTriggerScriptId="grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1007",
    },
    overflowExperienceScript="grn:gs2:ap-northeast-1:YourOwnerId:script:namespace1:script:script-1008",
    logSetting={
        loggingNamespaceId="grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1",
    },
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

deleteNamespace

ネームスペースを削除

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名

Result

説明
itemNamespace削除したネームスペース

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.DeleteNamespace(
    &experience.DeleteNamespaceRequest {
        NamespaceName: pointy.String("namespace1"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\DeleteNamespaceRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->deleteNamespace(
        (new DeleteNamespaceRequest())
            ->withNamespaceName(self::namespace1)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.DeleteNamespaceRequest;
import io.gs2.experience.result.DeleteNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    DeleteNamespaceResult result = client.deleteNamespace(
        new DeleteNamespaceRequest()
            .withNamespaceName("namespace1")
    );
    Namespace item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.DeleteNamespaceRequest;
using Gs2.Gs2Experience.Result.DeleteNamespaceResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.DeleteNamespaceResult> asyncResult = null;
yield return client.DeleteNamespace(
    new Gs2.Gs2Experience.Request.DeleteNamespaceRequest()
        .WithNamespaceName("namespace1"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.deleteNamespace(
        new Gs2Experience.DeleteNamespaceRequest()
            .withNamespaceName("namespace1")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.delete_namespace(
        experience.DeleteNamespaceRequest()
            .with_namespace_name(self.hash1)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.delete_namespace({
    namespaceName="namespace1",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

dumpUserDataByUserId

指定したユーザーIDに紐づくデータのダンプを取得

Request

有効化条件必須デフォルト値の制限説明
userIdstring~ 128文字ユーザーID
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.DumpUserDataByUserId(
    &experience.DumpUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\DumpUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->dumpUserDataByUserId(
        (new DumpUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withTimeOffsetToken(null)
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.DumpUserDataByUserIdRequest;
import io.gs2.experience.result.DumpUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    DumpUserDataByUserIdResult result = client.dumpUserDataByUserId(
        new DumpUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.DumpUserDataByUserIdRequest;
using Gs2.Gs2Experience.Result.DumpUserDataByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.DumpUserDataByUserIdResult> asyncResult = null;
yield return client.DumpUserDataByUserId(
    new Gs2.Gs2Experience.Request.DumpUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.dumpUserDataByUserId(
        new Gs2Experience.DumpUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.dump_user_data_by_user_id(
        experience.DumpUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_time_offset_token(None)
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.dump_user_data_by_user_id({
    userId="user-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result

checkDumpUserDataByUserId

指定したユーザーIDに紐づくデータのダンプが完了しているか確認

Request

有効化条件必須デフォルト値の制限説明
userIdstring~ 128文字ユーザーID
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明
urlstring出力データのURL

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.CheckDumpUserDataByUserId(
    &experience.CheckDumpUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
url := result.Url
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\CheckDumpUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->checkDumpUserDataByUserId(
        (new CheckDumpUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withTimeOffsetToken(null)
    );
    $url = $result->getUrl();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.CheckDumpUserDataByUserIdRequest;
import io.gs2.experience.result.CheckDumpUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    CheckDumpUserDataByUserIdResult result = client.checkDumpUserDataByUserId(
        new CheckDumpUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
    String url = result.getUrl();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.CheckDumpUserDataByUserIdRequest;
using Gs2.Gs2Experience.Result.CheckDumpUserDataByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.CheckDumpUserDataByUserIdResult> asyncResult = null;
yield return client.CheckDumpUserDataByUserId(
    new Gs2.Gs2Experience.Request.CheckDumpUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var url = result.Url;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.checkDumpUserDataByUserId(
        new Gs2Experience.CheckDumpUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
    const url = result.getUrl();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.check_dump_user_data_by_user_id(
        experience.CheckDumpUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_time_offset_token(None)
    )
    url = result.url
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.check_dump_user_data_by_user_id({
    userId="user-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
url = result.url;

cleanUserDataByUserId

指定したユーザーIDに紐づくデータのダンプを取得

Request

有効化条件必須デフォルト値の制限説明
userIdstring~ 128文字ユーザーID
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.CleanUserDataByUserId(
    &experience.CleanUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\CleanUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->cleanUserDataByUserId(
        (new CleanUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withTimeOffsetToken(null)
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.CleanUserDataByUserIdRequest;
import io.gs2.experience.result.CleanUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    CleanUserDataByUserIdResult result = client.cleanUserDataByUserId(
        new CleanUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.CleanUserDataByUserIdRequest;
using Gs2.Gs2Experience.Result.CleanUserDataByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.CleanUserDataByUserIdResult> asyncResult = null;
yield return client.CleanUserDataByUserId(
    new Gs2.Gs2Experience.Request.CleanUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.cleanUserDataByUserId(
        new Gs2Experience.CleanUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.clean_user_data_by_user_id(
        experience.CleanUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_time_offset_token(None)
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.clean_user_data_by_user_id({
    userId="user-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result

checkCleanUserDataByUserId

指定したユーザーIDに紐づくデータのダンプが完了しているか確認

Request

有効化条件必須デフォルト値の制限説明
userIdstring~ 128文字ユーザーID
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.CheckCleanUserDataByUserId(
    &experience.CheckCleanUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\CheckCleanUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->checkCleanUserDataByUserId(
        (new CheckCleanUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withTimeOffsetToken(null)
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.CheckCleanUserDataByUserIdRequest;
import io.gs2.experience.result.CheckCleanUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    CheckCleanUserDataByUserIdResult result = client.checkCleanUserDataByUserId(
        new CheckCleanUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.CheckCleanUserDataByUserIdRequest;
using Gs2.Gs2Experience.Result.CheckCleanUserDataByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.CheckCleanUserDataByUserIdResult> asyncResult = null;
yield return client.CheckCleanUserDataByUserId(
    new Gs2.Gs2Experience.Request.CheckCleanUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.checkCleanUserDataByUserId(
        new Gs2Experience.CheckCleanUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.check_clean_user_data_by_user_id(
        experience.CheckCleanUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_time_offset_token(None)
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.check_clean_user_data_by_user_id({
    userId="user-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result

prepareImportUserDataByUserId

指定したユーザーIDに紐づくデータのインポートを開始

Request

有効化条件必須デフォルト値の制限説明
userIdstring~ 128文字ユーザーID
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明
uploadTokenstringアップロード後に結果を反映する際に使用するトークン
uploadUrlstringユーザーデータアップロード処理の実行に使用するURL

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.PrepareImportUserDataByUserId(
    &experience.PrepareImportUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
uploadToken := result.UploadToken
uploadUrl := result.UploadUrl
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\PrepareImportUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->prepareImportUserDataByUserId(
        (new PrepareImportUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withTimeOffsetToken(null)
    );
    $uploadToken = $result->getUploadToken();
    $uploadUrl = $result->getUploadUrl();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.PrepareImportUserDataByUserIdRequest;
import io.gs2.experience.result.PrepareImportUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    PrepareImportUserDataByUserIdResult result = client.prepareImportUserDataByUserId(
        new PrepareImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
    String uploadToken = result.getUploadToken();
    String uploadUrl = result.getUploadUrl();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.PrepareImportUserDataByUserIdRequest;
using Gs2.Gs2Experience.Result.PrepareImportUserDataByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.PrepareImportUserDataByUserIdResult> asyncResult = null;
yield return client.PrepareImportUserDataByUserId(
    new Gs2.Gs2Experience.Request.PrepareImportUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var uploadToken = result.UploadToken;
var uploadUrl = result.UploadUrl;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.prepareImportUserDataByUserId(
        new Gs2Experience.PrepareImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
    const uploadToken = result.getUploadToken();
    const uploadUrl = result.getUploadUrl();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.prepare_import_user_data_by_user_id(
        experience.PrepareImportUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_time_offset_token(None)
    )
    upload_token = result.upload_token
    upload_url = result.upload_url
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.prepare_import_user_data_by_user_id({
    userId="user-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
uploadToken = result.uploadToken;
uploadUrl = result.uploadUrl;

importUserDataByUserId

指定したユーザーIDに紐づくデータのインポートを開始

Request

有効化条件必須デフォルト値の制限説明
userIdstring~ 128文字ユーザーID
uploadTokenstring~ 1024文字アップロード準備で受け取ったトークン
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.ImportUserDataByUserId(
    &experience.ImportUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        UploadToken: pointy.String("upload-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\ImportUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->importUserDataByUserId(
        (new ImportUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withUploadToken("upload-0001")
            ->withTimeOffsetToken(null)
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.ImportUserDataByUserIdRequest;
import io.gs2.experience.result.ImportUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    ImportUserDataByUserIdResult result = client.importUserDataByUserId(
        new ImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withUploadToken("upload-0001")
            .withTimeOffsetToken(null)
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.ImportUserDataByUserIdRequest;
using Gs2.Gs2Experience.Result.ImportUserDataByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.ImportUserDataByUserIdResult> asyncResult = null;
yield return client.ImportUserDataByUserId(
    new Gs2.Gs2Experience.Request.ImportUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithUploadToken("upload-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.importUserDataByUserId(
        new Gs2Experience.ImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withUploadToken("upload-0001")
            .withTimeOffsetToken(null)
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.import_user_data_by_user_id(
        experience.ImportUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_upload_token('upload-0001')
            .with_time_offset_token(None)
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.import_user_data_by_user_id({
    userId="user-0001",
    uploadToken="upload-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result

checkImportUserDataByUserId

指定したユーザーIDに紐づくデータのインポートが完了しているか確認

Request

有効化条件必須デフォルト値の制限説明
userIdstring~ 128文字ユーザーID
uploadTokenstring~ 1024文字アップロード準備で受け取ったトークン
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明
urlstring出力ログのURL

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.CheckImportUserDataByUserId(
    &experience.CheckImportUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        UploadToken: pointy.String("upload-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
url := result.Url
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\CheckImportUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->checkImportUserDataByUserId(
        (new CheckImportUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withUploadToken("upload-0001")
            ->withTimeOffsetToken(null)
    );
    $url = $result->getUrl();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.CheckImportUserDataByUserIdRequest;
import io.gs2.experience.result.CheckImportUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    CheckImportUserDataByUserIdResult result = client.checkImportUserDataByUserId(
        new CheckImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withUploadToken("upload-0001")
            .withTimeOffsetToken(null)
    );
    String url = result.getUrl();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.CheckImportUserDataByUserIdRequest;
using Gs2.Gs2Experience.Result.CheckImportUserDataByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.CheckImportUserDataByUserIdResult> asyncResult = null;
yield return client.CheckImportUserDataByUserId(
    new Gs2.Gs2Experience.Request.CheckImportUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithUploadToken("upload-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var url = result.Url;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.checkImportUserDataByUserId(
        new Gs2Experience.CheckImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withUploadToken("upload-0001")
            .withTimeOffsetToken(null)
    );
    const url = result.getUrl();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.check_import_user_data_by_user_id(
        experience.CheckImportUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_upload_token('upload-0001')
            .with_time_offset_token(None)
    )
    url = result.url
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.check_import_user_data_by_user_id({
    userId="user-0001",
    uploadToken="upload-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
url = result.url;

describeExperienceModelMasters

経験値モデルマスターの一覧を取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数

Result

説明
itemsList<ExperienceModelMaster>経験値モデルマスターのリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.DescribeExperienceModelMasters(
    &experience.DescribeExperienceModelMastersRequest {
        NamespaceName: pointy.String("namespace1"),
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\DescribeExperienceModelMastersRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeExperienceModelMasters(
        (new DescribeExperienceModelMastersRequest())
            ->withNamespaceName(self::namespace1)
            ->withPageToken(null)
            ->withLimit(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.DescribeExperienceModelMastersRequest;
import io.gs2.experience.result.DescribeExperienceModelMastersResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    DescribeExperienceModelMastersResult result = client.describeExperienceModelMasters(
        new DescribeExperienceModelMastersRequest()
            .withNamespaceName("namespace1")
            .withPageToken(null)
            .withLimit(null)
    );
    List<ExperienceModelMaster> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.DescribeExperienceModelMastersRequest;
using Gs2.Gs2Experience.Result.DescribeExperienceModelMastersResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.DescribeExperienceModelMastersResult> asyncResult = null;
yield return client.DescribeExperienceModelMasters(
    new Gs2.Gs2Experience.Request.DescribeExperienceModelMastersRequest()
        .WithNamespaceName("namespace1")
        .WithPageToken(null)
        .WithLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.describeExperienceModelMasters(
        new Gs2Experience.DescribeExperienceModelMastersRequest()
            .withNamespaceName("namespace1")
            .withPageToken(null)
            .withLimit(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.describe_experience_model_masters(
        experience.DescribeExperienceModelMastersRequest()
            .with_namespace_name(self.hash1)
            .with_page_token(None)
            .with_limit(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.describe_experience_model_masters({
    namespaceName="namespace1",
    pageToken=nil,
    limit=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

createExperienceModelMaster

経験値モデルマスターを新規作成

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
namestring~ 128文字経験値モデル名
descriptionstring~ 1024文字説明文
metadatastring~ 2048文字メタデータ
defaultExperiencelong0~ 9223372036854775805経験値の初期値
defaultRankCaplong~ 9223372036854775805ランクキャップの初期値
maxRankCaplong~ 9223372036854775805ランクキャップの最大値
rankThresholdNamestring~ 128文字ランクアップ閾値名
acquireActionRatesList<AcquireActionRate>~ 100 items報酬加算テーブルリスト

Result

説明
itemExperienceModelMaster作成した経験値モデルマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.CreateExperienceModelMaster(
    &experience.CreateExperienceModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        Name: pointy.String("experience-model-0001"),
        Description: nil,
        Metadata: nil,
        DefaultExperience: nil,
        DefaultRankCap: pointy.Int64(50),
        MaxRankCap: pointy.Int64(50),
        RankThresholdName: pointy.String("$threshold1.name"),
        AcquireActionRates: []experience.AcquireActionRate{
            experience.AcquireActionRate{
                Name: pointy.String("rate-0001"),
                Rates: []*float64{
                    pointy.Float64(1.0),
                    pointy.Float64(1.5),
                    pointy.Float64(2.0),
                },
            },
            experience.AcquireActionRate{
                Name: pointy.String("rate-0002"),
                Rates: []*float64{
                    pointy.Float64(10.0),
                    pointy.Float64(15.5),
                    pointy.Float64(20.0),
                },
            },
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\CreateExperienceModelMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->createExperienceModelMaster(
        (new CreateExperienceModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withName("experience-model-0001")
            ->withDescription(null)
            ->withMetadata(null)
            ->withDefaultExperience(null)
            ->withDefaultRankCap(50)
            ->withMaxRankCap(50)
            ->withRankThresholdName(self::$threshold1.name)
            ->withAcquireActionRates([
                (new \Gs2\Experience\Model\AcquireActionRate())
                    ->withName("rate-0001")
                    ->withRates([
                        1.0,
                        1.5,
                        2.0,
                    ]),
                (new \Gs2\Experience\Model\AcquireActionRate())
                    ->withName("rate-0002")
                    ->withRates([
                        10.0,
                        15.5,
                        20.0,
                    ]),
            ])
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.CreateExperienceModelMasterRequest;
import io.gs2.experience.result.CreateExperienceModelMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    CreateExperienceModelMasterResult result = client.createExperienceModelMaster(
        new CreateExperienceModelMasterRequest()
            .withNamespaceName("namespace1")
            .withName("experience-model-0001")
            .withDescription(null)
            .withMetadata(null)
            .withDefaultExperience(null)
            .withDefaultRankCap(50L)
            .withMaxRankCap(50L)
            .withRankThresholdName("$threshold1.name")
            .withAcquireActionRates(Arrays.asList(
                new io.gs2.experience.model.AcquireActionRate()
                    .withName("rate-0001")
                    .withRates(Arrays.asList(
                        1.0,
                        1.5,
                        2.0
                    )),
                new io.gs2.experience.model.AcquireActionRate()
                    .withName("rate-0002")
                    .withRates(Arrays.asList(
                        10.0,
                        15.5,
                        20.0
                    ))
            ))
    );
    ExperienceModelMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.CreateExperienceModelMasterRequest;
using Gs2.Gs2Experience.Result.CreateExperienceModelMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.CreateExperienceModelMasterResult> asyncResult = null;
yield return client.CreateExperienceModelMaster(
    new Gs2.Gs2Experience.Request.CreateExperienceModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithName("experience-model-0001")
        .WithDescription(null)
        .WithMetadata(null)
        .WithDefaultExperience(null)
        .WithDefaultRankCap(50L)
        .WithMaxRankCap(50L)
        .WithRankThresholdName("$threshold1.name")
        .WithAcquireActionRates(new Gs2.Gs2Experience.Model.AcquireActionRate[] {
            new Gs2.Gs2Experience.Model.AcquireActionRate()
                .WithName("rate-0001")
                .WithRates(new double[] {
                    1.0,
                    1.5,
                    2.0,
                }),
            new Gs2.Gs2Experience.Model.AcquireActionRate()
                .WithName("rate-0002")
                .WithRates(new double[] {
                    10.0,
                    15.5,
                    20.0,
                }),
        }),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.createExperienceModelMaster(
        new Gs2Experience.CreateExperienceModelMasterRequest()
            .withNamespaceName("namespace1")
            .withName("experience-model-0001")
            .withDescription(null)
            .withMetadata(null)
            .withDefaultExperience(null)
            .withDefaultRankCap(50)
            .withMaxRankCap(50)
            .withRankThresholdName("$threshold1.name")
            .withAcquireActionRates([
                new Gs2Experience.model.AcquireActionRate()
                    .withName("rate-0001")
                    .withRates([
                        1.0,
                        1.5,
                        2.0,
                    ]),
                new Gs2Experience.model.AcquireActionRate()
                    .withName("rate-0002")
                    .withRates([
                        10.0,
                        15.5,
                        20.0,
                    ]),
            ])
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.create_experience_model_master(
        experience.CreateExperienceModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_name('experience-model-0001')
            .with_description(None)
            .with_metadata(None)
            .with_default_experience(None)
            .with_default_rank_cap(50)
            .with_max_rank_cap(50)
            .with_rank_threshold_name(self.threshold1.name)
            .with_acquire_action_rates([
                experience.AcquireActionRate()
                    .with_name('rate-0001')
                    .with_rates([
                        1.0,
                        1.5,
                        2.0,
                    ]),
                experience.AcquireActionRate()
                    .with_name('rate-0002')
                    .with_rates([
                        10.0,
                        15.5,
                        20.0,
                    ]),
            ])
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.create_experience_model_master({
    namespaceName="namespace1",
    name="experience-model-0001",
    description=nil,
    metadata=nil,
    defaultExperience=nil,
    defaultRankCap=50,
    maxRankCap=50,
    rankThresholdName="$threshold1.name",
    acquireActionRates={
        {
            name="rate-0001",
            rates={
                1.0,
                1.5,
                2.0
            },
        },
        {
            name="rate-0002",
            rates={
                10.0,
                15.5,
                20.0
            },
        }
    },
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

getExperienceModelMaster

経験値モデルマスターを取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
experienceNamestring~ 128文字経験値モデル名

Result

説明
itemExperienceModelMaster経験値モデルマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.GetExperienceModelMaster(
    &experience.GetExperienceModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        ExperienceName: pointy.String("experience-model-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\GetExperienceModelMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getExperienceModelMaster(
        (new GetExperienceModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withExperienceName("experience-model-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.GetExperienceModelMasterRequest;
import io.gs2.experience.result.GetExperienceModelMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    GetExperienceModelMasterResult result = client.getExperienceModelMaster(
        new GetExperienceModelMasterRequest()
            .withNamespaceName("namespace1")
            .withExperienceName("experience-model-0001")
    );
    ExperienceModelMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.GetExperienceModelMasterRequest;
using Gs2.Gs2Experience.Result.GetExperienceModelMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.GetExperienceModelMasterResult> asyncResult = null;
yield return client.GetExperienceModelMaster(
    new Gs2.Gs2Experience.Request.GetExperienceModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithExperienceName("experience-model-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.getExperienceModelMaster(
        new Gs2Experience.GetExperienceModelMasterRequest()
            .withNamespaceName("namespace1")
            .withExperienceName("experience-model-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.get_experience_model_master(
        experience.GetExperienceModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_experience_name('experience-model-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.get_experience_model_master({
    namespaceName="namespace1",
    experienceName="experience-model-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

updateExperienceModelMaster

経験値モデルマスターを更新

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
experienceNamestring~ 128文字経験値モデル名
descriptionstring~ 1024文字説明文
metadatastring~ 2048文字メタデータ
defaultExperiencelong0~ 9223372036854775805経験値の初期値
defaultRankCaplong~ 9223372036854775805ランクキャップの初期値
maxRankCaplong~ 9223372036854775805ランクキャップの最大値
rankThresholdNamestring~ 128文字ランクアップ閾値名
acquireActionRatesList<AcquireActionRate>~ 100 items報酬加算テーブルリスト

Result

説明
itemExperienceModelMaster更新した経験値モデルマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.UpdateExperienceModelMaster(
    &experience.UpdateExperienceModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        ExperienceName: pointy.String("experience-model-0001"),
        Description: pointy.String("description1"),
        Metadata: pointy.String("{\"hoge\": \"fuga\"}"),
        DefaultExperience: pointy.Int64(100),
        DefaultRankCap: pointy.Int64(60),
        MaxRankCap: pointy.Int64(80),
        RankThresholdName: pointy.String("$threshold2.name"),
        AcquireActionRates: []experience.AcquireActionRate{
            experience.AcquireActionRate{
                Name: pointy.String("rate-0001"),
                Mode: pointy.String("big"),
                BigRates: []*string{
                    pointy.String("100000000000000"),
                    pointy.String("10000000000000000000000000000"),
                    pointy.String("1000000000000000000000000000000000000000000"),
                },
            },
            experience.AcquireActionRate{
                Name: pointy.String("rate-0002"),
                Mode: pointy.String("big"),
                BigRates: []*string{
                    pointy.String("100000000000000"),
                    pointy.String("10000000000000000000000000000"),
                    pointy.String("1000000000000000000000000000000000000000000"),
                },
            },
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\UpdateExperienceModelMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateExperienceModelMaster(
        (new UpdateExperienceModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withExperienceName("experience-model-0001")
            ->withDescription("description1")
            ->withMetadata("{\"hoge\": \"fuga\"}")
            ->withDefaultExperience(100)
            ->withDefaultRankCap(60)
            ->withMaxRankCap(80)
            ->withRankThresholdName(self::$threshold2.name)
            ->withAcquireActionRates([
                (new \Gs2\Experience\Model\AcquireActionRate())
                    ->withName("rate-0001")
                    ->withMode("big")
                    ->withBigRates([
                        "100000000000000",
                        "10000000000000000000000000000",
                        "1000000000000000000000000000000000000000000",
                    ]),
                (new \Gs2\Experience\Model\AcquireActionRate())
                    ->withName("rate-0002")
                    ->withMode("big")
                    ->withBigRates([
                        "100000000000000",
                        "10000000000000000000000000000",
                        "1000000000000000000000000000000000000000000",
                    ]),
            ])
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.UpdateExperienceModelMasterRequest;
import io.gs2.experience.result.UpdateExperienceModelMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    UpdateExperienceModelMasterResult result = client.updateExperienceModelMaster(
        new UpdateExperienceModelMasterRequest()
            .withNamespaceName("namespace1")
            .withExperienceName("experience-model-0001")
            .withDescription("description1")
            .withMetadata("{\"hoge\": \"fuga\"}")
            .withDefaultExperience(100L)
            .withDefaultRankCap(60L)
            .withMaxRankCap(80L)
            .withRankThresholdName("$threshold2.name")
            .withAcquireActionRates(Arrays.asList(
                new io.gs2.experience.model.AcquireActionRate()
                    .withName("rate-0001")
                    .withMode("big")
                    .withBigRates(Arrays.asList(
                        "100000000000000",
                        "10000000000000000000000000000",
                        "1000000000000000000000000000000000000000000"
                    )),
                new io.gs2.experience.model.AcquireActionRate()
                    .withName("rate-0002")
                    .withMode("big")
                    .withBigRates(Arrays.asList(
                        "100000000000000",
                        "10000000000000000000000000000",
                        "1000000000000000000000000000000000000000000"
                    ))
            ))
    );
    ExperienceModelMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.UpdateExperienceModelMasterRequest;
using Gs2.Gs2Experience.Result.UpdateExperienceModelMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.UpdateExperienceModelMasterResult> asyncResult = null;
yield return client.UpdateExperienceModelMaster(
    new Gs2.Gs2Experience.Request.UpdateExperienceModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithExperienceName("experience-model-0001")
        .WithDescription("description1")
        .WithMetadata("{\"hoge\": \"fuga\"}")
        .WithDefaultExperience(100L)
        .WithDefaultRankCap(60L)
        .WithMaxRankCap(80L)
        .WithRankThresholdName("$threshold2.name")
        .WithAcquireActionRates(new Gs2.Gs2Experience.Model.AcquireActionRate[] {
            new Gs2.Gs2Experience.Model.AcquireActionRate()
                .WithName("rate-0001")
                .WithMode("big")
                .WithBigRates(new string[] {
                    "100000000000000",
                    "10000000000000000000000000000",
                    "1000000000000000000000000000000000000000000",
                }),
            new Gs2.Gs2Experience.Model.AcquireActionRate()
                .WithName("rate-0002")
                .WithMode("big")
                .WithBigRates(new string[] {
                    "100000000000000",
                    "10000000000000000000000000000",
                    "1000000000000000000000000000000000000000000",
                }),
        }),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.updateExperienceModelMaster(
        new Gs2Experience.UpdateExperienceModelMasterRequest()
            .withNamespaceName("namespace1")
            .withExperienceName("experience-model-0001")
            .withDescription("description1")
            .withMetadata("{\"hoge\": \"fuga\"}")
            .withDefaultExperience(100)
            .withDefaultRankCap(60)
            .withMaxRankCap(80)
            .withRankThresholdName("$threshold2.name")
            .withAcquireActionRates([
                new Gs2Experience.model.AcquireActionRate()
                    .withName("rate-0001")
                    .withMode("big")
                    .withBigRates([
                        "100000000000000",
                        "10000000000000000000000000000",
                        "1000000000000000000000000000000000000000000",
                    ]),
                new Gs2Experience.model.AcquireActionRate()
                    .withName("rate-0002")
                    .withMode("big")
                    .withBigRates([
                        "100000000000000",
                        "10000000000000000000000000000",
                        "1000000000000000000000000000000000000000000",
                    ]),
            ])
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.update_experience_model_master(
        experience.UpdateExperienceModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_experience_name('experience-model-0001')
            .with_description('description1')
            .with_metadata('{"hoge": "fuga"}')
            .with_default_experience(100)
            .with_default_rank_cap(60)
            .with_max_rank_cap(80)
            .with_rank_threshold_name(self.threshold2.name)
            .with_acquire_action_rates([
                experience.AcquireActionRate()
                    .with_name('rate-0001')
                    .with_mode('big')
                    .with_big_rates([
                        '100000000000000',
                        '10000000000000000000000000000',
                        '1000000000000000000000000000000000000000000',
                    ]),
                experience.AcquireActionRate()
                    .with_name('rate-0002')
                    .with_mode('big')
                    .with_big_rates([
                        '100000000000000',
                        '10000000000000000000000000000',
                        '1000000000000000000000000000000000000000000',
                    ]),
            ])
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.update_experience_model_master({
    namespaceName="namespace1",
    experienceName="experience-model-0001",
    description="description1",
    metadata="{\"hoge\": \"fuga\"}",
    defaultExperience=100,
    defaultRankCap=60,
    maxRankCap=80,
    rankThresholdName="$threshold2.name",
    acquireActionRates={
        {
            name="rate-0001",
            mode="big",
            bigRates={
                "100000000000000",
                "10000000000000000000000000000",
                "1000000000000000000000000000000000000000000"
            },
        },
        {
            name="rate-0002",
            mode="big",
            bigRates={
                "100000000000000",
                "10000000000000000000000000000",
                "1000000000000000000000000000000000000000000"
            },
        }
    },
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

deleteExperienceModelMaster

経験値モデルマスターを削除

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
experienceNamestring~ 128文字経験値モデル名

Result

説明
itemExperienceModelMaster削除した経験値モデルマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.DeleteExperienceModelMaster(
    &experience.DeleteExperienceModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        ExperienceName: pointy.String("experience-model-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\DeleteExperienceModelMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->deleteExperienceModelMaster(
        (new DeleteExperienceModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withExperienceName("experience-model-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.DeleteExperienceModelMasterRequest;
import io.gs2.experience.result.DeleteExperienceModelMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    DeleteExperienceModelMasterResult result = client.deleteExperienceModelMaster(
        new DeleteExperienceModelMasterRequest()
            .withNamespaceName("namespace1")
            .withExperienceName("experience-model-0001")
    );
    ExperienceModelMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.DeleteExperienceModelMasterRequest;
using Gs2.Gs2Experience.Result.DeleteExperienceModelMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.DeleteExperienceModelMasterResult> asyncResult = null;
yield return client.DeleteExperienceModelMaster(
    new Gs2.Gs2Experience.Request.DeleteExperienceModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithExperienceName("experience-model-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.deleteExperienceModelMaster(
        new Gs2Experience.DeleteExperienceModelMasterRequest()
            .withNamespaceName("namespace1")
            .withExperienceName("experience-model-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.delete_experience_model_master(
        experience.DeleteExperienceModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_experience_name('experience-model-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.delete_experience_model_master({
    namespaceName="namespace1",
    experienceName="experience-model-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

describeExperienceModels

経験値モデルの一覧を取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名

Result

説明
itemsList<ExperienceModel>経験値モデルリスト

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.DescribeExperienceModels(
    &experience.DescribeExperienceModelsRequest {
        NamespaceName: pointy.String("namespace2"),
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\DescribeExperienceModelsRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeExperienceModels(
        (new DescribeExperienceModelsRequest())
            ->withNamespaceName(self::namespace2)
    );
    $items = $result->getItems();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.DescribeExperienceModelsRequest;
import io.gs2.experience.result.DescribeExperienceModelsResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    DescribeExperienceModelsResult result = client.describeExperienceModels(
        new DescribeExperienceModelsRequest()
            .withNamespaceName("namespace2")
    );
    List<ExperienceModel> items = result.getItems();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.DescribeExperienceModelsRequest;
using Gs2.Gs2Experience.Result.DescribeExperienceModelsResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.DescribeExperienceModelsResult> asyncResult = null;
yield return client.DescribeExperienceModels(
    new Gs2.Gs2Experience.Request.DescribeExperienceModelsRequest()
        .WithNamespaceName("namespace2"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.describeExperienceModels(
        new Gs2Experience.DescribeExperienceModelsRequest()
            .withNamespaceName("namespace2")
    );
    const items = result.getItems();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.describe_experience_models(
        experience.DescribeExperienceModelsRequest()
            .with_namespace_name(self.hash2)
    )
    items = result.items
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.describe_experience_models({
    namespaceName="namespace2",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;

getExperienceModel

経験値モデルを取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
experienceNamestring~ 128文字経験値モデル名

Result

説明
itemExperienceModel経験値モデル

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.GetExperienceModel(
    &experience.GetExperienceModelRequest {
        NamespaceName: pointy.String("namespace2"),
        ExperienceName: pointy.String("experience-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\GetExperienceModelRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getExperienceModel(
        (new GetExperienceModelRequest())
            ->withNamespaceName(self::namespace2)
            ->withExperienceName("experience-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.GetExperienceModelRequest;
import io.gs2.experience.result.GetExperienceModelResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    GetExperienceModelResult result = client.getExperienceModel(
        new GetExperienceModelRequest()
            .withNamespaceName("namespace2")
            .withExperienceName("experience-0001")
    );
    ExperienceModel item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.GetExperienceModelRequest;
using Gs2.Gs2Experience.Result.GetExperienceModelResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.GetExperienceModelResult> asyncResult = null;
yield return client.GetExperienceModel(
    new Gs2.Gs2Experience.Request.GetExperienceModelRequest()
        .WithNamespaceName("namespace2")
        .WithExperienceName("experience-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.getExperienceModel(
        new Gs2Experience.GetExperienceModelRequest()
            .withNamespaceName("namespace2")
            .withExperienceName("experience-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.get_experience_model(
        experience.GetExperienceModelRequest()
            .with_namespace_name(self.hash2)
            .with_experience_name('experience-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.get_experience_model({
    namespaceName="namespace2",
    experienceName="experience-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

describeThresholdMasters

ランクアップ閾値マスターの一覧を取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数

Result

説明
itemsList<ThresholdMaster>ランクアップ閾値マスターのリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.DescribeThresholdMasters(
    &experience.DescribeThresholdMastersRequest {
        NamespaceName: pointy.String("namespace1"),
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\DescribeThresholdMastersRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeThresholdMasters(
        (new DescribeThresholdMastersRequest())
            ->withNamespaceName(self::namespace1)
            ->withPageToken(null)
            ->withLimit(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.DescribeThresholdMastersRequest;
import io.gs2.experience.result.DescribeThresholdMastersResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    DescribeThresholdMastersResult result = client.describeThresholdMasters(
        new DescribeThresholdMastersRequest()
            .withNamespaceName("namespace1")
            .withPageToken(null)
            .withLimit(null)
    );
    List<ThresholdMaster> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.DescribeThresholdMastersRequest;
using Gs2.Gs2Experience.Result.DescribeThresholdMastersResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.DescribeThresholdMastersResult> asyncResult = null;
yield return client.DescribeThresholdMasters(
    new Gs2.Gs2Experience.Request.DescribeThresholdMastersRequest()
        .WithNamespaceName("namespace1")
        .WithPageToken(null)
        .WithLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.describeThresholdMasters(
        new Gs2Experience.DescribeThresholdMastersRequest()
            .withNamespaceName("namespace1")
            .withPageToken(null)
            .withLimit(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.describe_threshold_masters(
        experience.DescribeThresholdMastersRequest()
            .with_namespace_name(self.hash1)
            .with_page_token(None)
            .with_limit(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.describe_threshold_masters({
    namespaceName="namespace1",
    pageToken=nil,
    limit=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

createThresholdMaster

ランクアップ閾値マスターを新規作成

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
namestring~ 128文字ランクアップ閾値名
descriptionstring~ 1024文字説明文
metadatastring~ 2048文字メタデータ
valuesList<long>1 ~ 1024 itemsランクアップ経験値閾値リスト

Result

説明
itemThresholdMaster作成したランクアップ閾値マスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.CreateThresholdMaster(
    &experience.CreateThresholdMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        Name: pointy.String("threshold-0001"),
        Description: nil,
        Metadata: nil,
        Values: []*int64{
            pointy.Int64(100),
            pointy.Int64(200),
            pointy.Int64(300),
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\CreateThresholdMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->createThresholdMaster(
        (new CreateThresholdMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withName("threshold-0001")
            ->withDescription(null)
            ->withMetadata(null)
            ->withValues([
                100,
                200,
                300,
            ])
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.CreateThresholdMasterRequest;
import io.gs2.experience.result.CreateThresholdMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    CreateThresholdMasterResult result = client.createThresholdMaster(
        new CreateThresholdMasterRequest()
            .withNamespaceName("namespace1")
            .withName("threshold-0001")
            .withDescription(null)
            .withMetadata(null)
            .withValues(Arrays.asList(
                100L,
                200L,
                300L
            ))
    );
    ThresholdMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.CreateThresholdMasterRequest;
using Gs2.Gs2Experience.Result.CreateThresholdMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.CreateThresholdMasterResult> asyncResult = null;
yield return client.CreateThresholdMaster(
    new Gs2.Gs2Experience.Request.CreateThresholdMasterRequest()
        .WithNamespaceName("namespace1")
        .WithName("threshold-0001")
        .WithDescription(null)
        .WithMetadata(null)
        .WithValues(new long[] {
            100L,
            200L,
            300L,
        }),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.createThresholdMaster(
        new Gs2Experience.CreateThresholdMasterRequest()
            .withNamespaceName("namespace1")
            .withName("threshold-0001")
            .withDescription(null)
            .withMetadata(null)
            .withValues([
                100,
                200,
                300,
            ])
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.create_threshold_master(
        experience.CreateThresholdMasterRequest()
            .with_namespace_name(self.hash1)
            .with_name('threshold-0001')
            .with_description(None)
            .with_metadata(None)
            .with_values([
                100,
                200,
                300,
            ])
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.create_threshold_master({
    namespaceName="namespace1",
    name="threshold-0001",
    description=nil,
    metadata=nil,
    values={
        100,
        200,
        300
    },
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

getThresholdMaster

ランクアップ閾値マスターを取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
thresholdNamestring~ 128文字ランクアップ閾値名

Result

説明
itemThresholdMasterランクアップ閾値マスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.GetThresholdMaster(
    &experience.GetThresholdMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        ThresholdName: pointy.String("threshold-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\GetThresholdMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getThresholdMaster(
        (new GetThresholdMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withThresholdName("threshold-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.GetThresholdMasterRequest;
import io.gs2.experience.result.GetThresholdMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    GetThresholdMasterResult result = client.getThresholdMaster(
        new GetThresholdMasterRequest()
            .withNamespaceName("namespace1")
            .withThresholdName("threshold-0001")
    );
    ThresholdMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.GetThresholdMasterRequest;
using Gs2.Gs2Experience.Result.GetThresholdMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.GetThresholdMasterResult> asyncResult = null;
yield return client.GetThresholdMaster(
    new Gs2.Gs2Experience.Request.GetThresholdMasterRequest()
        .WithNamespaceName("namespace1")
        .WithThresholdName("threshold-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.getThresholdMaster(
        new Gs2Experience.GetThresholdMasterRequest()
            .withNamespaceName("namespace1")
            .withThresholdName("threshold-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.get_threshold_master(
        experience.GetThresholdMasterRequest()
            .with_namespace_name(self.hash1)
            .with_threshold_name('threshold-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.get_threshold_master({
    namespaceName="namespace1",
    thresholdName="threshold-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

updateThresholdMaster

ランクアップ閾値マスターを更新

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
thresholdNamestring~ 128文字ランクアップ閾値名
descriptionstring~ 1024文字説明文
metadatastring~ 2048文字メタデータ
valuesList<long>1 ~ 1024 itemsランクアップ経験値閾値リスト

Result

説明
itemThresholdMaster更新したランクアップ閾値マスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.UpdateThresholdMaster(
    &experience.UpdateThresholdMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        ThresholdName: pointy.String("threshold-0001"),
        Description: pointy.String("description1"),
        Metadata: pointy.String("{\"fuga\": \"piyo\"}"),
        Values: []*int64{
            pointy.Int64(1100),
            pointy.Int64(1200),
            pointy.Int64(1300),
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\UpdateThresholdMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateThresholdMaster(
        (new UpdateThresholdMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withThresholdName("threshold-0001")
            ->withDescription("description1")
            ->withMetadata("{\"fuga\": \"piyo\"}")
            ->withValues([
                1100,
                1200,
                1300,
            ])
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.UpdateThresholdMasterRequest;
import io.gs2.experience.result.UpdateThresholdMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    UpdateThresholdMasterResult result = client.updateThresholdMaster(
        new UpdateThresholdMasterRequest()
            .withNamespaceName("namespace1")
            .withThresholdName("threshold-0001")
            .withDescription("description1")
            .withMetadata("{\"fuga\": \"piyo\"}")
            .withValues(Arrays.asList(
                1100L,
                1200L,
                1300L
            ))
    );
    ThresholdMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.UpdateThresholdMasterRequest;
using Gs2.Gs2Experience.Result.UpdateThresholdMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.UpdateThresholdMasterResult> asyncResult = null;
yield return client.UpdateThresholdMaster(
    new Gs2.Gs2Experience.Request.UpdateThresholdMasterRequest()
        .WithNamespaceName("namespace1")
        .WithThresholdName("threshold-0001")
        .WithDescription("description1")
        .WithMetadata("{\"fuga\": \"piyo\"}")
        .WithValues(new long[] {
            1100L,
            1200L,
            1300L,
        }),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.updateThresholdMaster(
        new Gs2Experience.UpdateThresholdMasterRequest()
            .withNamespaceName("namespace1")
            .withThresholdName("threshold-0001")
            .withDescription("description1")
            .withMetadata("{\"fuga\": \"piyo\"}")
            .withValues([
                1100,
                1200,
                1300,
            ])
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.update_threshold_master(
        experience.UpdateThresholdMasterRequest()
            .with_namespace_name(self.hash1)
            .with_threshold_name('threshold-0001')
            .with_description('description1')
            .with_metadata('{"fuga": "piyo"}')
            .with_values([
                1100,
                1200,
                1300,
            ])
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.update_threshold_master({
    namespaceName="namespace1",
    thresholdName="threshold-0001",
    description="description1",
    metadata="{\"fuga\": \"piyo\"}",
    values={
        1100,
        1200,
        1300
    },
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

deleteThresholdMaster

ランクアップ閾値マスターを削除

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
thresholdNamestring~ 128文字ランクアップ閾値名

Result

説明
itemThresholdMaster削除したランクアップ閾値マスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.DeleteThresholdMaster(
    &experience.DeleteThresholdMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        ThresholdName: pointy.String("threshold-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\DeleteThresholdMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->deleteThresholdMaster(
        (new DeleteThresholdMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withThresholdName("threshold-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.DeleteThresholdMasterRequest;
import io.gs2.experience.result.DeleteThresholdMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    DeleteThresholdMasterResult result = client.deleteThresholdMaster(
        new DeleteThresholdMasterRequest()
            .withNamespaceName("namespace1")
            .withThresholdName("threshold-0001")
    );
    ThresholdMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.DeleteThresholdMasterRequest;
using Gs2.Gs2Experience.Result.DeleteThresholdMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.DeleteThresholdMasterResult> asyncResult = null;
yield return client.DeleteThresholdMaster(
    new Gs2.Gs2Experience.Request.DeleteThresholdMasterRequest()
        .WithNamespaceName("namespace1")
        .WithThresholdName("threshold-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.deleteThresholdMaster(
        new Gs2Experience.DeleteThresholdMasterRequest()
            .withNamespaceName("namespace1")
            .withThresholdName("threshold-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.delete_threshold_master(
        experience.DeleteThresholdMasterRequest()
            .with_namespace_name(self.hash1)
            .with_threshold_name('threshold-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.delete_threshold_master({
    namespaceName="namespace1",
    thresholdName="threshold-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

exportMaster

現在有効な経験値設定のマスターデータをエクスポート

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名

Result

説明
itemCurrentExperienceMaster現在有効な経験値設定

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.ExportMaster(
    &experience.ExportMasterRequest {
        NamespaceName: pointy.String("namespace1"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\ExportMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->exportMaster(
        (new ExportMasterRequest())
            ->withNamespaceName(self::namespace1)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.ExportMasterRequest;
import io.gs2.experience.result.ExportMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    ExportMasterResult result = client.exportMaster(
        new ExportMasterRequest()
            .withNamespaceName("namespace1")
    );
    CurrentExperienceMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.ExportMasterRequest;
using Gs2.Gs2Experience.Result.ExportMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.ExportMasterResult> asyncResult = null;
yield return client.ExportMaster(
    new Gs2.Gs2Experience.Request.ExportMasterRequest()
        .WithNamespaceName("namespace1"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.exportMaster(
        new Gs2Experience.ExportMasterRequest()
            .withNamespaceName("namespace1")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.export_master(
        experience.ExportMasterRequest()
            .with_namespace_name(self.hash1)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.export_master({
    namespaceName="namespace1",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

getCurrentExperienceMaster

現在有効な経験値設定を取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名

Result

説明
itemCurrentExperienceMaster現在有効な経験値設定

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.GetCurrentExperienceMaster(
    &experience.GetCurrentExperienceMasterRequest {
        NamespaceName: pointy.String("namespace1"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\GetCurrentExperienceMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getCurrentExperienceMaster(
        (new GetCurrentExperienceMasterRequest())
            ->withNamespaceName(self::namespace1)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.GetCurrentExperienceMasterRequest;
import io.gs2.experience.result.GetCurrentExperienceMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    GetCurrentExperienceMasterResult result = client.getCurrentExperienceMaster(
        new GetCurrentExperienceMasterRequest()
            .withNamespaceName("namespace1")
    );
    CurrentExperienceMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.GetCurrentExperienceMasterRequest;
using Gs2.Gs2Experience.Result.GetCurrentExperienceMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.GetCurrentExperienceMasterResult> asyncResult = null;
yield return client.GetCurrentExperienceMaster(
    new Gs2.Gs2Experience.Request.GetCurrentExperienceMasterRequest()
        .WithNamespaceName("namespace1"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.getCurrentExperienceMaster(
        new Gs2Experience.GetCurrentExperienceMasterRequest()
            .withNamespaceName("namespace1")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.get_current_experience_master(
        experience.GetCurrentExperienceMasterRequest()
            .with_namespace_name(self.hash1)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.get_current_experience_master({
    namespaceName="namespace1",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

updateCurrentExperienceMaster

現在有効な経験値設定を更新

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
settingsstring~ 5242880文字マスターデータ

Result

説明
itemCurrentExperienceMaster更新した現在有効な経験値設定

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.UpdateCurrentExperienceMaster(
    &experience.UpdateCurrentExperienceMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        Settings: pointy.String("{\"version\": \"2019-01-11\", \"experienceModels\": [{\"name\": \"character_ssr\", \"metadata\": \"SSR\", \"defaultExperience\": 0, \"defaultRankCap\": 50, \"maxRankCap\": 80, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"character_sr\", \"metadata\": \"SR\", \"defaultExperience\": 0, \"defaultRankCap\": 40, \"maxRankCap\": 70, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"character_r\", \"metadata\": \"R\", \"defaultExperience\": 0, \"defaultRankCap\": 30, \"maxRankCap\": 60, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"equipment\", \"metadata\": \"EQUIPMENT\", \"defaultExperience\": 0, \"defaultRankCap\": 30, \"maxRankCap\": 50, \"rankThreshold\": {\"metadata\": \"EQUIPMENT\", \"values\": [200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2400, 2600, 2800, 3000, 3200, 3400, 3600, 3800, 4000, 4200, 4400, 4600, 4800, 5000, 5200, 5400, 5600, 5800, 6000, 6200, 6400, 6600, 6800, 7000, 7200, 7400, 7600, 7800, 8000, 8200, 8400, 8600, 8800, 9000, 9200, 9400, 9600, 9800]}, \"acquireActionRates\": [{\"name\": \"rate-0001\", \"mode\": \"big\", \"bigRates\": [\"1\", \"10\", \"100\", \"1000\", \"10000\", \"100000\", \"1000000\", \"10000000\", \"100000000\", \"1000000000\", \"10000000000\", \"100000000000\", \"1000000000000\", \"10000000000000\", \"100000000000000\", \"1000000000000000\", \"10000000000000000\", \"100000000000000000\", \"1000000000000000000\", \"10000000000000000000\", \"100000000000000000000\", \"1000000000000000000000\", \"10000000000000000000000\", \"100000000000000000000000\", \"1000000000000000000000000\", \"10000000000000000000000000\", \"100000000000000000000000000\"]}]}, {\"name\": \"skill\", \"metadata\": \"SKILL\", \"defaultExperience\": 0, \"defaultRankCap\": 10, \"maxRankCap\": 20, \"rankThreshold\": {\"metadata\": \"SKILL\", \"values\": [300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900, 4200, 4500, 4800, 5100, 5400, 5700]}}]}"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\UpdateCurrentExperienceMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateCurrentExperienceMaster(
        (new UpdateCurrentExperienceMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withSettings("{\"version\": \"2019-01-11\", \"experienceModels\": [{\"name\": \"character_ssr\", \"metadata\": \"SSR\", \"defaultExperience\": 0, \"defaultRankCap\": 50, \"maxRankCap\": 80, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"character_sr\", \"metadata\": \"SR\", \"defaultExperience\": 0, \"defaultRankCap\": 40, \"maxRankCap\": 70, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"character_r\", \"metadata\": \"R\", \"defaultExperience\": 0, \"defaultRankCap\": 30, \"maxRankCap\": 60, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"equipment\", \"metadata\": \"EQUIPMENT\", \"defaultExperience\": 0, \"defaultRankCap\": 30, \"maxRankCap\": 50, \"rankThreshold\": {\"metadata\": \"EQUIPMENT\", \"values\": [200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2400, 2600, 2800, 3000, 3200, 3400, 3600, 3800, 4000, 4200, 4400, 4600, 4800, 5000, 5200, 5400, 5600, 5800, 6000, 6200, 6400, 6600, 6800, 7000, 7200, 7400, 7600, 7800, 8000, 8200, 8400, 8600, 8800, 9000, 9200, 9400, 9600, 9800]}, \"acquireActionRates\": [{\"name\": \"rate-0001\", \"mode\": \"big\", \"bigRates\": [\"1\", \"10\", \"100\", \"1000\", \"10000\", \"100000\", \"1000000\", \"10000000\", \"100000000\", \"1000000000\", \"10000000000\", \"100000000000\", \"1000000000000\", \"10000000000000\", \"100000000000000\", \"1000000000000000\", \"10000000000000000\", \"100000000000000000\", \"1000000000000000000\", \"10000000000000000000\", \"100000000000000000000\", \"1000000000000000000000\", \"10000000000000000000000\", \"100000000000000000000000\", \"1000000000000000000000000\", \"10000000000000000000000000\", \"100000000000000000000000000\"]}]}, {\"name\": \"skill\", \"metadata\": \"SKILL\", \"defaultExperience\": 0, \"defaultRankCap\": 10, \"maxRankCap\": 20, \"rankThreshold\": {\"metadata\": \"SKILL\", \"values\": [300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900, 4200, 4500, 4800, 5100, 5400, 5700]}}]}")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.UpdateCurrentExperienceMasterRequest;
import io.gs2.experience.result.UpdateCurrentExperienceMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    UpdateCurrentExperienceMasterResult result = client.updateCurrentExperienceMaster(
        new UpdateCurrentExperienceMasterRequest()
            .withNamespaceName("namespace1")
            .withSettings("{\"version\": \"2019-01-11\", \"experienceModels\": [{\"name\": \"character_ssr\", \"metadata\": \"SSR\", \"defaultExperience\": 0, \"defaultRankCap\": 50, \"maxRankCap\": 80, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"character_sr\", \"metadata\": \"SR\", \"defaultExperience\": 0, \"defaultRankCap\": 40, \"maxRankCap\": 70, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"character_r\", \"metadata\": \"R\", \"defaultExperience\": 0, \"defaultRankCap\": 30, \"maxRankCap\": 60, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"equipment\", \"metadata\": \"EQUIPMENT\", \"defaultExperience\": 0, \"defaultRankCap\": 30, \"maxRankCap\": 50, \"rankThreshold\": {\"metadata\": \"EQUIPMENT\", \"values\": [200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2400, 2600, 2800, 3000, 3200, 3400, 3600, 3800, 4000, 4200, 4400, 4600, 4800, 5000, 5200, 5400, 5600, 5800, 6000, 6200, 6400, 6600, 6800, 7000, 7200, 7400, 7600, 7800, 8000, 8200, 8400, 8600, 8800, 9000, 9200, 9400, 9600, 9800]}, \"acquireActionRates\": [{\"name\": \"rate-0001\", \"mode\": \"big\", \"bigRates\": [\"1\", \"10\", \"100\", \"1000\", \"10000\", \"100000\", \"1000000\", \"10000000\", \"100000000\", \"1000000000\", \"10000000000\", \"100000000000\", \"1000000000000\", \"10000000000000\", \"100000000000000\", \"1000000000000000\", \"10000000000000000\", \"100000000000000000\", \"1000000000000000000\", \"10000000000000000000\", \"100000000000000000000\", \"1000000000000000000000\", \"10000000000000000000000\", \"100000000000000000000000\", \"1000000000000000000000000\", \"10000000000000000000000000\", \"100000000000000000000000000\"]}]}, {\"name\": \"skill\", \"metadata\": \"SKILL\", \"defaultExperience\": 0, \"defaultRankCap\": 10, \"maxRankCap\": 20, \"rankThreshold\": {\"metadata\": \"SKILL\", \"values\": [300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900, 4200, 4500, 4800, 5100, 5400, 5700]}}]}")
    );
    CurrentExperienceMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.UpdateCurrentExperienceMasterRequest;
using Gs2.Gs2Experience.Result.UpdateCurrentExperienceMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.UpdateCurrentExperienceMasterResult> asyncResult = null;
yield return client.UpdateCurrentExperienceMaster(
    new Gs2.Gs2Experience.Request.UpdateCurrentExperienceMasterRequest()
        .WithNamespaceName("namespace1")
        .WithSettings("{\"version\": \"2019-01-11\", \"experienceModels\": [{\"name\": \"character_ssr\", \"metadata\": \"SSR\", \"defaultExperience\": 0, \"defaultRankCap\": 50, \"maxRankCap\": 80, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"character_sr\", \"metadata\": \"SR\", \"defaultExperience\": 0, \"defaultRankCap\": 40, \"maxRankCap\": 70, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"character_r\", \"metadata\": \"R\", \"defaultExperience\": 0, \"defaultRankCap\": 30, \"maxRankCap\": 60, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"equipment\", \"metadata\": \"EQUIPMENT\", \"defaultExperience\": 0, \"defaultRankCap\": 30, \"maxRankCap\": 50, \"rankThreshold\": {\"metadata\": \"EQUIPMENT\", \"values\": [200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2400, 2600, 2800, 3000, 3200, 3400, 3600, 3800, 4000, 4200, 4400, 4600, 4800, 5000, 5200, 5400, 5600, 5800, 6000, 6200, 6400, 6600, 6800, 7000, 7200, 7400, 7600, 7800, 8000, 8200, 8400, 8600, 8800, 9000, 9200, 9400, 9600, 9800]}, \"acquireActionRates\": [{\"name\": \"rate-0001\", \"mode\": \"big\", \"bigRates\": [\"1\", \"10\", \"100\", \"1000\", \"10000\", \"100000\", \"1000000\", \"10000000\", \"100000000\", \"1000000000\", \"10000000000\", \"100000000000\", \"1000000000000\", \"10000000000000\", \"100000000000000\", \"1000000000000000\", \"10000000000000000\", \"100000000000000000\", \"1000000000000000000\", \"10000000000000000000\", \"100000000000000000000\", \"1000000000000000000000\", \"10000000000000000000000\", \"100000000000000000000000\", \"1000000000000000000000000\", \"10000000000000000000000000\", \"100000000000000000000000000\"]}]}, {\"name\": \"skill\", \"metadata\": \"SKILL\", \"defaultExperience\": 0, \"defaultRankCap\": 10, \"maxRankCap\": 20, \"rankThreshold\": {\"metadata\": \"SKILL\", \"values\": [300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900, 4200, 4500, 4800, 5100, 5400, 5700]}}]}"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.updateCurrentExperienceMaster(
        new Gs2Experience.UpdateCurrentExperienceMasterRequest()
            .withNamespaceName("namespace1")
            .withSettings("{\"version\": \"2019-01-11\", \"experienceModels\": [{\"name\": \"character_ssr\", \"metadata\": \"SSR\", \"defaultExperience\": 0, \"defaultRankCap\": 50, \"maxRankCap\": 80, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"character_sr\", \"metadata\": \"SR\", \"defaultExperience\": 0, \"defaultRankCap\": 40, \"maxRankCap\": 70, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"character_r\", \"metadata\": \"R\", \"defaultExperience\": 0, \"defaultRankCap\": 30, \"maxRankCap\": 60, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"equipment\", \"metadata\": \"EQUIPMENT\", \"defaultExperience\": 0, \"defaultRankCap\": 30, \"maxRankCap\": 50, \"rankThreshold\": {\"metadata\": \"EQUIPMENT\", \"values\": [200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2400, 2600, 2800, 3000, 3200, 3400, 3600, 3800, 4000, 4200, 4400, 4600, 4800, 5000, 5200, 5400, 5600, 5800, 6000, 6200, 6400, 6600, 6800, 7000, 7200, 7400, 7600, 7800, 8000, 8200, 8400, 8600, 8800, 9000, 9200, 9400, 9600, 9800]}, \"acquireActionRates\": [{\"name\": \"rate-0001\", \"mode\": \"big\", \"bigRates\": [\"1\", \"10\", \"100\", \"1000\", \"10000\", \"100000\", \"1000000\", \"10000000\", \"100000000\", \"1000000000\", \"10000000000\", \"100000000000\", \"1000000000000\", \"10000000000000\", \"100000000000000\", \"1000000000000000\", \"10000000000000000\", \"100000000000000000\", \"1000000000000000000\", \"10000000000000000000\", \"100000000000000000000\", \"1000000000000000000000\", \"10000000000000000000000\", \"100000000000000000000000\", \"1000000000000000000000000\", \"10000000000000000000000000\", \"100000000000000000000000000\"]}]}, {\"name\": \"skill\", \"metadata\": \"SKILL\", \"defaultExperience\": 0, \"defaultRankCap\": 10, \"maxRankCap\": 20, \"rankThreshold\": {\"metadata\": \"SKILL\", \"values\": [300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900, 4200, 4500, 4800, 5100, 5400, 5700]}}]}")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.update_current_experience_master(
        experience.UpdateCurrentExperienceMasterRequest()
            .with_namespace_name(self.hash1)
            .with_settings('{"version": "2019-01-11", "experienceModels": [{"name": "character_ssr", "metadata": "SSR", "defaultExperience": 0, "defaultRankCap": 50, "maxRankCap": 80, "rankThreshold": {"metadata": "CHARACTER", "values": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {"name": "character_sr", "metadata": "SR", "defaultExperience": 0, "defaultRankCap": 40, "maxRankCap": 70, "rankThreshold": {"metadata": "CHARACTER", "values": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {"name": "character_r", "metadata": "R", "defaultExperience": 0, "defaultRankCap": 30, "maxRankCap": 60, "rankThreshold": {"metadata": "CHARACTER", "values": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {"name": "equipment", "metadata": "EQUIPMENT", "defaultExperience": 0, "defaultRankCap": 30, "maxRankCap": 50, "rankThreshold": {"metadata": "EQUIPMENT", "values": [200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2400, 2600, 2800, 3000, 3200, 3400, 3600, 3800, 4000, 4200, 4400, 4600, 4800, 5000, 5200, 5400, 5600, 5800, 6000, 6200, 6400, 6600, 6800, 7000, 7200, 7400, 7600, 7800, 8000, 8200, 8400, 8600, 8800, 9000, 9200, 9400, 9600, 9800]}, "acquireActionRates": [{"name": "rate-0001", "mode": "big", "bigRates": ["1", "10", "100", "1000", "10000", "100000", "1000000", "10000000", "100000000", "1000000000", "10000000000", "100000000000", "1000000000000", "10000000000000", "100000000000000", "1000000000000000", "10000000000000000", "100000000000000000", "1000000000000000000", "10000000000000000000", "100000000000000000000", "1000000000000000000000", "10000000000000000000000", "100000000000000000000000", "1000000000000000000000000", "10000000000000000000000000", "100000000000000000000000000"]}]}, {"name": "skill", "metadata": "SKILL", "defaultExperience": 0, "defaultRankCap": 10, "maxRankCap": 20, "rankThreshold": {"metadata": "SKILL", "values": [300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900, 4200, 4500, 4800, 5100, 5400, 5700]}}]}')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.update_current_experience_master({
    namespaceName="namespace1",
    settings="{\"version\": \"2019-01-11\", \"experienceModels\": [{\"name\": \"character_ssr\", \"metadata\": \"SSR\", \"defaultExperience\": 0, \"defaultRankCap\": 50, \"maxRankCap\": 80, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"character_sr\", \"metadata\": \"SR\", \"defaultExperience\": 0, \"defaultRankCap\": 40, \"maxRankCap\": 70, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"character_r\", \"metadata\": \"R\", \"defaultExperience\": 0, \"defaultRankCap\": 30, \"maxRankCap\": 60, \"rankThreshold\": {\"metadata\": \"CHARACTER\", \"values\": [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900]}}, {\"name\": \"equipment\", \"metadata\": \"EQUIPMENT\", \"defaultExperience\": 0, \"defaultRankCap\": 30, \"maxRankCap\": 50, \"rankThreshold\": {\"metadata\": \"EQUIPMENT\", \"values\": [200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2400, 2600, 2800, 3000, 3200, 3400, 3600, 3800, 4000, 4200, 4400, 4600, 4800, 5000, 5200, 5400, 5600, 5800, 6000, 6200, 6400, 6600, 6800, 7000, 7200, 7400, 7600, 7800, 8000, 8200, 8400, 8600, 8800, 9000, 9200, 9400, 9600, 9800]}, \"acquireActionRates\": [{\"name\": \"rate-0001\", \"mode\": \"big\", \"bigRates\": [\"1\", \"10\", \"100\", \"1000\", \"10000\", \"100000\", \"1000000\", \"10000000\", \"100000000\", \"1000000000\", \"10000000000\", \"100000000000\", \"1000000000000\", \"10000000000000\", \"100000000000000\", \"1000000000000000\", \"10000000000000000\", \"100000000000000000\", \"1000000000000000000\", \"10000000000000000000\", \"100000000000000000000\", \"1000000000000000000000\", \"10000000000000000000000\", \"100000000000000000000000\", \"1000000000000000000000000\", \"10000000000000000000000000\", \"100000000000000000000000000\"]}]}, {\"name\": \"skill\", \"metadata\": \"SKILL\", \"defaultExperience\": 0, \"defaultRankCap\": 10, \"maxRankCap\": 20, \"rankThreshold\": {\"metadata\": \"SKILL\", \"values\": [300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900, 4200, 4500, 4800, 5100, 5400, 5700]}}]}",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

updateCurrentExperienceMasterFromGitHub

現在有効な経験値設定を更新

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
checkoutSettingGitHubCheckoutSettingGitHubからマスターデータをチェックアウトしてくる設定

Result

説明
itemCurrentExperienceMaster更新した現在有効な経験値設定

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.UpdateCurrentExperienceMasterFromGitHub(
    &experience.UpdateCurrentExperienceMasterFromGitHubRequest {
        NamespaceName: pointy.String("namespace1"),
        CheckoutSetting: &experience.GitHubCheckoutSetting{
            ApiKeyId: pointy.String("$gitHubApiKey1.apiKeyId"),
            RepositoryName: pointy.String("gs2io/master-data"),
            SourcePath: pointy.String("path/to/file.json"),
            ReferenceType: pointy.String("branch"),
            BranchName: pointy.String("develop"),
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\UpdateCurrentExperienceMasterFromGitHubRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateCurrentExperienceMasterFromGitHub(
        (new UpdateCurrentExperienceMasterFromGitHubRequest())
            ->withNamespaceName(self::namespace1)
            ->withCheckoutSetting((new GitHubCheckoutSetting())
                ->withApiKeyId(self::$gitHubApiKey1.apiKeyId)
                ->withRepositoryName("gs2io/master-data")
                ->withSourcePath("path/to/file.json")
                ->withReferenceType("branch")
                ->withBranchName("develop")
            )
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.UpdateCurrentExperienceMasterFromGitHubRequest;
import io.gs2.experience.result.UpdateCurrentExperienceMasterFromGitHubResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    UpdateCurrentExperienceMasterFromGitHubResult result = client.updateCurrentExperienceMasterFromGitHub(
        new UpdateCurrentExperienceMasterFromGitHubRequest()
            .withNamespaceName("namespace1")
            .withCheckoutSetting(new GitHubCheckoutSetting()
                .withApiKeyId("$gitHubApiKey1.apiKeyId")
                .withRepositoryName("gs2io/master-data")
                .withSourcePath("path/to/file.json")
                .withReferenceType("branch")
                .withBranchName("develop")
            )
    );
    CurrentExperienceMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.UpdateCurrentExperienceMasterFromGitHubRequest;
using Gs2.Gs2Experience.Result.UpdateCurrentExperienceMasterFromGitHubResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.UpdateCurrentExperienceMasterFromGitHubResult> asyncResult = null;
yield return client.UpdateCurrentExperienceMasterFromGitHub(
    new Gs2.Gs2Experience.Request.UpdateCurrentExperienceMasterFromGitHubRequest()
        .WithNamespaceName("namespace1")
        .WithCheckoutSetting(new Gs2.Gs2Experience.Model.GitHubCheckoutSetting()
            .WithApiKeyId("$gitHubApiKey1.apiKeyId")
            .WithRepositoryName("gs2io/master-data")
            .WithSourcePath("path/to/file.json")
            .WithReferenceType("branch")
            .WithBranchName("develop")
        ),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.updateCurrentExperienceMasterFromGitHub(
        new Gs2Experience.UpdateCurrentExperienceMasterFromGitHubRequest()
            .withNamespaceName("namespace1")
            .withCheckoutSetting(new Gs2Experience.model.GitHubCheckoutSetting()
                .withApiKeyId("$gitHubApiKey1.apiKeyId")
                .withRepositoryName("gs2io/master-data")
                .withSourcePath("path/to/file.json")
                .withReferenceType("branch")
                .withBranchName("develop")
            )
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.update_current_experience_master_from_git_hub(
        experience.UpdateCurrentExperienceMasterFromGitHubRequest()
            .with_namespace_name(self.hash1)
            .with_checkout_setting(experience.GitHubCheckoutSetting()
                .with_api_key_id(self.git_hub_api_key1.api_key_id)
                .with_repository_name('gs2io/master-data')
                .with_source_path('path/to/file.json')
                .with_reference_type('branch')
                .with_branch_name('develop')
            )
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.update_current_experience_master_from_git_hub({
    namespaceName="namespace1",
    checkoutSetting={
        api_key_id="$gitHubApiKey1.apiKeyId",
        repository_name="gs2io/master-data",
        source_path="path/to/file.json",
        reference_type="branch",
        branch_name="develop",
    },
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

describeStatuses

ステータスの一覧を取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
experienceNamestring~ 128文字経験値モデル名
accessTokenstring~ 128文字ユーザーID
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数

Result

説明
itemsList<Status>ステータスのリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.DescribeStatuses(
    &experience.DescribeStatusesRequest {
        NamespaceName: pointy.String("namespace1"),
        ExperienceName: pointy.String("character_ssr"),
        AccessToken: pointy.String("accessToken-0001"),
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\DescribeStatusesRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeStatuses(
        (new DescribeStatusesRequest())
            ->withNamespaceName(self::namespace1)
            ->withExperienceName("character_ssr")
            ->withAccessToken(self::$accessToken0001)
            ->withPageToken(null)
            ->withLimit(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.DescribeStatusesRequest;
import io.gs2.experience.result.DescribeStatusesResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    DescribeStatusesResult result = client.describeStatuses(
        new DescribeStatusesRequest()
            .withNamespaceName("namespace1")
            .withExperienceName("character_ssr")
            .withAccessToken("accessToken-0001")
            .withPageToken(null)
            .withLimit(null)
    );
    List<Status> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.DescribeStatusesRequest;
using Gs2.Gs2Experience.Result.DescribeStatusesResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.DescribeStatusesResult> asyncResult = null;
yield return client.DescribeStatuses(
    new Gs2.Gs2Experience.Request.DescribeStatusesRequest()
        .WithNamespaceName("namespace1")
        .WithExperienceName("character_ssr")
        .WithAccessToken("accessToken-0001")
        .WithPageToken(null)
        .WithLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.describeStatuses(
        new Gs2Experience.DescribeStatusesRequest()
            .withNamespaceName("namespace1")
            .withExperienceName("character_ssr")
            .withAccessToken("accessToken-0001")
            .withPageToken(null)
            .withLimit(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.describe_statuses(
        experience.DescribeStatusesRequest()
            .with_namespace_name(self.hash1)
            .with_experience_name('character_ssr')
            .with_access_token(self.access_token_0001)
            .with_page_token(None)
            .with_limit(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.describe_statuses({
    namespaceName="namespace1",
    experienceName="character_ssr",
    accessToken="accessToken-0001",
    pageToken=nil,
    limit=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

describeStatusesByUserId

ユーザーIDを指定してステータスの一覧を取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
experienceNamestring~ 128文字経験値モデル名
userIdstring~ 128文字ユーザーID
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明
itemsList<Status>ステータスのリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.DescribeStatusesByUserId(
    &experience.DescribeStatusesByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        ExperienceName: pointy.String("character_ssr"),
        UserId: pointy.String("user-0001"),
        PageToken: nil,
        Limit: nil,
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\DescribeStatusesByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeStatusesByUserId(
        (new DescribeStatusesByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withExperienceName("character_ssr")
            ->withUserId("user-0001")
            ->withPageToken(null)
            ->withLimit(null)
            ->withTimeOffsetToken(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.DescribeStatusesByUserIdRequest;
import io.gs2.experience.result.DescribeStatusesByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    DescribeStatusesByUserIdResult result = client.describeStatusesByUserId(
        new DescribeStatusesByUserIdRequest()
            .withNamespaceName("namespace1")
            .withExperienceName("character_ssr")
            .withUserId("user-0001")
            .withPageToken(null)
            .withLimit(null)
            .withTimeOffsetToken(null)
    );
    List<Status> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.DescribeStatusesByUserIdRequest;
using Gs2.Gs2Experience.Result.DescribeStatusesByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.DescribeStatusesByUserIdResult> asyncResult = null;
yield return client.DescribeStatusesByUserId(
    new Gs2.Gs2Experience.Request.DescribeStatusesByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithExperienceName("character_ssr")
        .WithUserId("user-0001")
        .WithPageToken(null)
        .WithLimit(null)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.describeStatusesByUserId(
        new Gs2Experience.DescribeStatusesByUserIdRequest()
            .withNamespaceName("namespace1")
            .withExperienceName("character_ssr")
            .withUserId("user-0001")
            .withPageToken(null)
            .withLimit(null)
            .withTimeOffsetToken(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.describe_statuses_by_user_id(
        experience.DescribeStatusesByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_experience_name('character_ssr')
            .with_user_id('user-0001')
            .with_page_token(None)
            .with_limit(None)
            .with_time_offset_token(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.describe_statuses_by_user_id({
    namespaceName="namespace1",
    experienceName="character_ssr",
    userId="user-0001",
    pageToken=nil,
    limit=nil,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

getStatus

ステータスを取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
accessTokenstring~ 128文字ユーザーID
experienceNamestring~ 128文字経験値モデルの名前
propertyIdstring~ 1024文字プロパティID

Result

説明
itemStatusステータス

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.GetStatus(
    &experience.GetStatusRequest {
        NamespaceName: pointy.String("namespace1"),
        AccessToken: pointy.String("accessToken-0001"),
        ExperienceName: pointy.String("character_ssr"),
        PropertyId: pointy.String("property-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\GetStatusRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getStatus(
        (new GetStatusRequest())
            ->withNamespaceName(self::namespace1)
            ->withAccessToken(self::$accessToken0001)
            ->withExperienceName("character_ssr")
            ->withPropertyId("property-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.GetStatusRequest;
import io.gs2.experience.result.GetStatusResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    GetStatusResult result = client.getStatus(
        new GetStatusRequest()
            .withNamespaceName("namespace1")
            .withAccessToken("accessToken-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
    );
    Status item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.GetStatusRequest;
using Gs2.Gs2Experience.Result.GetStatusResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.GetStatusResult> asyncResult = null;
yield return client.GetStatus(
    new Gs2.Gs2Experience.Request.GetStatusRequest()
        .WithNamespaceName("namespace1")
        .WithAccessToken("accessToken-0001")
        .WithExperienceName("character_ssr")
        .WithPropertyId("property-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.getStatus(
        new Gs2Experience.GetStatusRequest()
            .withNamespaceName("namespace1")
            .withAccessToken("accessToken-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.get_status(
        experience.GetStatusRequest()
            .with_namespace_name(self.hash1)
            .with_access_token(self.access_token_0001)
            .with_experience_name('character_ssr')
            .with_property_id('property-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.get_status({
    namespaceName="namespace1",
    accessToken="accessToken-0001",
    experienceName="character_ssr",
    propertyId="property-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

getStatusByUserId

ユーザーIDを指定してステータスを取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
userIdstring~ 128文字ユーザーID
experienceNamestring~ 128文字経験値モデルの名前
propertyIdstring~ 1024文字プロパティID
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明
itemStatusステータス

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.GetStatusByUserId(
    &experience.GetStatusByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        ExperienceName: pointy.String("character_ssr"),
        PropertyId: pointy.String("property-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\GetStatusByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getStatusByUserId(
        (new GetStatusByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withUserId("user-0001")
            ->withExperienceName("character_ssr")
            ->withPropertyId("property-0001")
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.GetStatusByUserIdRequest;
import io.gs2.experience.result.GetStatusByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    GetStatusByUserIdResult result = client.getStatusByUserId(
        new GetStatusByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withTimeOffsetToken(null)
    );
    Status item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.GetStatusByUserIdRequest;
using Gs2.Gs2Experience.Result.GetStatusByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.GetStatusByUserIdResult> asyncResult = null;
yield return client.GetStatusByUserId(
    new Gs2.Gs2Experience.Request.GetStatusByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithUserId("user-0001")
        .WithExperienceName("character_ssr")
        .WithPropertyId("property-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.getStatusByUserId(
        new Gs2Experience.GetStatusByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.get_status_by_user_id(
        experience.GetStatusByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_user_id('user-0001')
            .with_experience_name('character_ssr')
            .with_property_id('property-0001')
            .with_time_offset_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.get_status_by_user_id({
    namespaceName="namespace1",
    userId="user-0001",
    experienceName="character_ssr",
    propertyId="property-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

getStatusWithSignature

署名情報と共にステータスを取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
accessTokenstring~ 128文字ユーザーID
experienceNamestring~ 128文字経験値モデルの名前
propertyIdstring~ 1024文字プロパティID
keyIdstring“grn:gs2:{region}:{ownerId}:key:default:key:default”~ 1024文字暗号鍵GRN

Result

説明
itemStatusステータス
bodystring検証対象のオブジェクト
signaturestring署名

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.GetStatusWithSignature(
    &experience.GetStatusWithSignatureRequest {
        NamespaceName: pointy.String("namespace1"),
        AccessToken: pointy.String("accessToken-0001"),
        ExperienceName: pointy.String("character_ssr"),
        PropertyId: pointy.String("property-0001"),
        KeyId: pointy.String("key-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
body := result.Body
signature := result.Signature
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\GetStatusWithSignatureRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getStatusWithSignature(
        (new GetStatusWithSignatureRequest())
            ->withNamespaceName(self::namespace1)
            ->withAccessToken(self::$accessToken0001)
            ->withExperienceName("character_ssr")
            ->withPropertyId("property-0001")
            ->withKeyId(self::key-0001)
    );
    $item = $result->getItem();
    $body = $result->getBody();
    $signature = $result->getSignature();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.GetStatusWithSignatureRequest;
import io.gs2.experience.result.GetStatusWithSignatureResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    GetStatusWithSignatureResult result = client.getStatusWithSignature(
        new GetStatusWithSignatureRequest()
            .withNamespaceName("namespace1")
            .withAccessToken("accessToken-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withKeyId("key-0001")
    );
    Status item = result.getItem();
    String body = result.getBody();
    String signature = result.getSignature();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.GetStatusWithSignatureRequest;
using Gs2.Gs2Experience.Result.GetStatusWithSignatureResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.GetStatusWithSignatureResult> asyncResult = null;
yield return client.GetStatusWithSignature(
    new Gs2.Gs2Experience.Request.GetStatusWithSignatureRequest()
        .WithNamespaceName("namespace1")
        .WithAccessToken("accessToken-0001")
        .WithExperienceName("character_ssr")
        .WithPropertyId("property-0001")
        .WithKeyId("key-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var body = result.Body;
var signature = result.Signature;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.getStatusWithSignature(
        new Gs2Experience.GetStatusWithSignatureRequest()
            .withNamespaceName("namespace1")
            .withAccessToken("accessToken-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withKeyId("key-0001")
    );
    const item = result.getItem();
    const body = result.getBody();
    const signature = result.getSignature();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.get_status_with_signature(
        experience.GetStatusWithSignatureRequest()
            .with_namespace_name(self.hash1)
            .with_access_token(self.access_token_0001)
            .with_experience_name('character_ssr')
            .with_property_id('property-0001')
            .with_key_id(self.key1.key_id)
    )
    item = result.item
    body = result.body
    signature = result.signature
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.get_status_with_signature({
    namespaceName="namespace1",
    accessToken="accessToken-0001",
    experienceName="character_ssr",
    propertyId="property-0001",
    keyId="key-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;
body = result.body;
signature = result.signature;

getStatusWithSignatureByUserId

ユーザーIDを指定して署名情報と共にステータスを取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
userIdstring~ 128文字ユーザーID
experienceNamestring~ 128文字経験値モデルの名前
propertyIdstring~ 1024文字プロパティID
keyIdstring“grn:gs2:{region}:{ownerId}:key:default:key:default”~ 1024文字暗号鍵GRN
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明
itemStatusステータス
bodystring検証対象のオブジェクト
signaturestring署名

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.GetStatusWithSignatureByUserId(
    &experience.GetStatusWithSignatureByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        ExperienceName: pointy.String("character_ssr"),
        PropertyId: pointy.String("property-0001"),
        KeyId: pointy.String("key-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
body := result.Body
signature := result.Signature
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\GetStatusWithSignatureByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getStatusWithSignatureByUserId(
        (new GetStatusWithSignatureByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withUserId("user-0001")
            ->withExperienceName("character_ssr")
            ->withPropertyId("property-0001")
            ->withKeyId(self::key-0001)
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
    $body = $result->getBody();
    $signature = $result->getSignature();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.GetStatusWithSignatureByUserIdRequest;
import io.gs2.experience.result.GetStatusWithSignatureByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    GetStatusWithSignatureByUserIdResult result = client.getStatusWithSignatureByUserId(
        new GetStatusWithSignatureByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withKeyId("key-0001")
            .withTimeOffsetToken(null)
    );
    Status item = result.getItem();
    String body = result.getBody();
    String signature = result.getSignature();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.GetStatusWithSignatureByUserIdRequest;
using Gs2.Gs2Experience.Result.GetStatusWithSignatureByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.GetStatusWithSignatureByUserIdResult> asyncResult = null;
yield return client.GetStatusWithSignatureByUserId(
    new Gs2.Gs2Experience.Request.GetStatusWithSignatureByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithUserId("user-0001")
        .WithExperienceName("character_ssr")
        .WithPropertyId("property-0001")
        .WithKeyId("key-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var body = result.Body;
var signature = result.Signature;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.getStatusWithSignatureByUserId(
        new Gs2Experience.GetStatusWithSignatureByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withKeyId("key-0001")
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
    const body = result.getBody();
    const signature = result.getSignature();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.get_status_with_signature_by_user_id(
        experience.GetStatusWithSignatureByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_user_id('user-0001')
            .with_experience_name('character_ssr')
            .with_property_id('property-0001')
            .with_key_id(self.key1.key_id)
            .with_time_offset_token(None)
    )
    item = result.item
    body = result.body
    signature = result.signature
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.get_status_with_signature_by_user_id({
    namespaceName="namespace1",
    userId="user-0001",
    experienceName="character_ssr",
    propertyId="property-0001",
    keyId="key-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;
body = result.body;
signature = result.signature;

addExperienceByUserId

経験値を加算

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
userIdstring~ 128文字ユーザーID
experienceNamestring~ 128文字経験値モデルの名前
propertyIdstring~ 1024文字プロパティID
experienceValuelong0~ 9223372036854775805獲得経験値
truncateExperienceWhenRankUpbool?falseランクアップ時に残りの経験値を切り捨てるか
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明
itemStatus加算後のステータス

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.AddExperienceByUserId(
    &experience.AddExperienceByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        ExperienceName: pointy.String("character_ssr"),
        PropertyId: pointy.String("property-0001"),
        ExperienceValue: pointy.Int64(10),
        TruncateExperienceWhenRankUp: nil,
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\AddExperienceByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->addExperienceByUserId(
        (new AddExperienceByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withUserId("user-0001")
            ->withExperienceName("character_ssr")
            ->withPropertyId("property-0001")
            ->withExperienceValue(10)
            ->withTruncateExperienceWhenRankUp(null)
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.AddExperienceByUserIdRequest;
import io.gs2.experience.result.AddExperienceByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    AddExperienceByUserIdResult result = client.addExperienceByUserId(
        new AddExperienceByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withExperienceValue(10L)
            .withTruncateExperienceWhenRankUp(null)
            .withTimeOffsetToken(null)
    );
    Status item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.AddExperienceByUserIdRequest;
using Gs2.Gs2Experience.Result.AddExperienceByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.AddExperienceByUserIdResult> asyncResult = null;
yield return client.AddExperienceByUserId(
    new Gs2.Gs2Experience.Request.AddExperienceByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithUserId("user-0001")
        .WithExperienceName("character_ssr")
        .WithPropertyId("property-0001")
        .WithExperienceValue(10L)
        .WithTruncateExperienceWhenRankUp(null)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.addExperienceByUserId(
        new Gs2Experience.AddExperienceByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withExperienceValue(10)
            .withTruncateExperienceWhenRankUp(null)
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.add_experience_by_user_id(
        experience.AddExperienceByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_user_id('user-0001')
            .with_experience_name('character_ssr')
            .with_property_id('property-0001')
            .with_experience_value(10)
            .with_truncate_experience_when_rank_up(None)
            .with_time_offset_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.add_experience_by_user_id({
    namespaceName="namespace1",
    userId="user-0001",
    experienceName="character_ssr",
    propertyId="property-0001",
    experienceValue=10,
    truncateExperienceWhenRankUp=nil,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

subExperienceByUserId

経験値を減算

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
userIdstring~ 128文字ユーザーID
experienceNamestring~ 128文字経験値モデルの名前
propertyIdstring~ 1024文字プロパティID
experienceValuelong0~ 9223372036854775805失う経験値
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明
itemStatus減算後のステータス

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.SubExperienceByUserId(
    &experience.SubExperienceByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        ExperienceName: pointy.String("character_ssr"),
        PropertyId: pointy.String("property-0001"),
        ExperienceValue: pointy.Int64(10),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\SubExperienceByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->subExperienceByUserId(
        (new SubExperienceByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withUserId("user-0001")
            ->withExperienceName("character_ssr")
            ->withPropertyId("property-0001")
            ->withExperienceValue(10)
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.SubExperienceByUserIdRequest;
import io.gs2.experience.result.SubExperienceByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    SubExperienceByUserIdResult result = client.subExperienceByUserId(
        new SubExperienceByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withExperienceValue(10L)
            .withTimeOffsetToken(null)
    );
    Status item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.SubExperienceByUserIdRequest;
using Gs2.Gs2Experience.Result.SubExperienceByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.SubExperienceByUserIdResult> asyncResult = null;
yield return client.SubExperienceByUserId(
    new Gs2.Gs2Experience.Request.SubExperienceByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithUserId("user-0001")
        .WithExperienceName("character_ssr")
        .WithPropertyId("property-0001")
        .WithExperienceValue(10L)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.subExperienceByUserId(
        new Gs2Experience.SubExperienceByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withExperienceValue(10)
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.sub_experience_by_user_id(
        experience.SubExperienceByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_user_id('user-0001')
            .with_experience_name('character_ssr')
            .with_property_id('property-0001')
            .with_experience_value(10)
            .with_time_offset_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.sub_experience_by_user_id({
    namespaceName="namespace1",
    userId="user-0001",
    experienceName="character_ssr",
    propertyId="property-0001",
    experienceValue=10,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

setExperienceByUserId

累計獲得経験値を設定

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
userIdstring~ 128文字ユーザーID
experienceNamestring~ 128文字経験値モデルの名前
propertyIdstring~ 1024文字プロパティID
experienceValuelong0~ 9223372036854775805累計獲得経験値
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明
itemStatus更新後のステータス
oldStatus更新前のステータス

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.SetExperienceByUserId(
    &experience.SetExperienceByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        ExperienceName: pointy.String("character_ssr"),
        PropertyId: pointy.String("property-0001"),
        ExperienceValue: pointy.Int64(100),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
old := result.Old
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\SetExperienceByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->setExperienceByUserId(
        (new SetExperienceByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withUserId("user-0001")
            ->withExperienceName("character_ssr")
            ->withPropertyId("property-0001")
            ->withExperienceValue(100)
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
    $old = $result->getOld();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.SetExperienceByUserIdRequest;
import io.gs2.experience.result.SetExperienceByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    SetExperienceByUserIdResult result = client.setExperienceByUserId(
        new SetExperienceByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withExperienceValue(100L)
            .withTimeOffsetToken(null)
    );
    Status item = result.getItem();
    Status old = result.getOld();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.SetExperienceByUserIdRequest;
using Gs2.Gs2Experience.Result.SetExperienceByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.SetExperienceByUserIdResult> asyncResult = null;
yield return client.SetExperienceByUserId(
    new Gs2.Gs2Experience.Request.SetExperienceByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithUserId("user-0001")
        .WithExperienceName("character_ssr")
        .WithPropertyId("property-0001")
        .WithExperienceValue(100L)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var old = result.Old;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.setExperienceByUserId(
        new Gs2Experience.SetExperienceByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withExperienceValue(100)
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
    const old = result.getOld();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.set_experience_by_user_id(
        experience.SetExperienceByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_user_id('user-0001')
            .with_experience_name('character_ssr')
            .with_property_id('property-0001')
            .with_experience_value(100)
            .with_time_offset_token(None)
    )
    item = result.item
    old = result.old
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.set_experience_by_user_id({
    namespaceName="namespace1",
    userId="user-0001",
    experienceName="character_ssr",
    propertyId="property-0001",
    experienceValue=100,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;
old = result.old;

addRankCapByUserId

ランクキャップを加算

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
userIdstring~ 128文字ユーザーID
experienceNamestring~ 128文字経験値モデルの名前
propertyIdstring~ 1024文字プロパティID
rankCapValuelong~ 9223372036854775805現在のランクキャップ
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明
itemStatus加算後のステータス

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.AddRankCapByUserId(
    &experience.AddRankCapByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        ExperienceName: pointy.String("character_ssr"),
        PropertyId: pointy.String("property-0001"),
        RankCapValue: pointy.Int64(30),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\AddRankCapByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->addRankCapByUserId(
        (new AddRankCapByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withUserId("user-0001")
            ->withExperienceName("character_ssr")
            ->withPropertyId("property-0001")
            ->withRankCapValue(30)
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.AddRankCapByUserIdRequest;
import io.gs2.experience.result.AddRankCapByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    AddRankCapByUserIdResult result = client.addRankCapByUserId(
        new AddRankCapByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withRankCapValue(30L)
            .withTimeOffsetToken(null)
    );
    Status item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.AddRankCapByUserIdRequest;
using Gs2.Gs2Experience.Result.AddRankCapByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.AddRankCapByUserIdResult> asyncResult = null;
yield return client.AddRankCapByUserId(
    new Gs2.Gs2Experience.Request.AddRankCapByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithUserId("user-0001")
        .WithExperienceName("character_ssr")
        .WithPropertyId("property-0001")
        .WithRankCapValue(30L)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.addRankCapByUserId(
        new Gs2Experience.AddRankCapByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withRankCapValue(30)
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.add_rank_cap_by_user_id(
        experience.AddRankCapByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_user_id('user-0001')
            .with_experience_name('character_ssr')
            .with_property_id('property-0001')
            .with_rank_cap_value(30)
            .with_time_offset_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.add_rank_cap_by_user_id({
    namespaceName="namespace1",
    userId="user-0001",
    experienceName="character_ssr",
    propertyId="property-0001",
    rankCapValue=30,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

subRankCapByUserId

ランクキャップを減算

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
userIdstring~ 128文字ユーザーID
experienceNamestring~ 128文字経験値モデルの名前
propertyIdstring~ 1024文字プロパティID
rankCapValuelong~ 9223372036854775805現在のランクキャップ
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明
itemStatus減算後のステータス

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.SubRankCapByUserId(
    &experience.SubRankCapByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        ExperienceName: pointy.String("character_ssr"),
        PropertyId: pointy.String("property-0001"),
        RankCapValue: pointy.Int64(30),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\SubRankCapByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->subRankCapByUserId(
        (new SubRankCapByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withUserId("user-0001")
            ->withExperienceName("character_ssr")
            ->withPropertyId("property-0001")
            ->withRankCapValue(30)
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.SubRankCapByUserIdRequest;
import io.gs2.experience.result.SubRankCapByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    SubRankCapByUserIdResult result = client.subRankCapByUserId(
        new SubRankCapByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withRankCapValue(30L)
            .withTimeOffsetToken(null)
    );
    Status item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.SubRankCapByUserIdRequest;
using Gs2.Gs2Experience.Result.SubRankCapByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.SubRankCapByUserIdResult> asyncResult = null;
yield return client.SubRankCapByUserId(
    new Gs2.Gs2Experience.Request.SubRankCapByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithUserId("user-0001")
        .WithExperienceName("character_ssr")
        .WithPropertyId("property-0001")
        .WithRankCapValue(30L)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.subRankCapByUserId(
        new Gs2Experience.SubRankCapByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withRankCapValue(30)
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.sub_rank_cap_by_user_id(
        experience.SubRankCapByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_user_id('user-0001')
            .with_experience_name('character_ssr')
            .with_property_id('property-0001')
            .with_rank_cap_value(30)
            .with_time_offset_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.sub_rank_cap_by_user_id({
    namespaceName="namespace1",
    userId="user-0001",
    experienceName="character_ssr",
    propertyId="property-0001",
    rankCapValue=30,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

setRankCapByUserId

ランクキャップを設定

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
userIdstring~ 128文字ユーザーID
experienceNamestring~ 128文字経験値モデルの名前
propertyIdstring~ 1024文字プロパティID
rankCapValuelong~ 9223372036854775805現在のランクキャップ
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明
itemStatus更新後のステータス
oldStatus更新前のステータス

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.SetRankCapByUserId(
    &experience.SetRankCapByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        ExperienceName: pointy.String("character_ssr"),
        PropertyId: pointy.String("property-0001"),
        RankCapValue: pointy.Int64(30),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
old := result.Old
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\SetRankCapByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->setRankCapByUserId(
        (new SetRankCapByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withUserId("user-0001")
            ->withExperienceName("character_ssr")
            ->withPropertyId("property-0001")
            ->withRankCapValue(30)
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
    $old = $result->getOld();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.SetRankCapByUserIdRequest;
import io.gs2.experience.result.SetRankCapByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    SetRankCapByUserIdResult result = client.setRankCapByUserId(
        new SetRankCapByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withRankCapValue(30L)
            .withTimeOffsetToken(null)
    );
    Status item = result.getItem();
    Status old = result.getOld();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.SetRankCapByUserIdRequest;
using Gs2.Gs2Experience.Result.SetRankCapByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.SetRankCapByUserIdResult> asyncResult = null;
yield return client.SetRankCapByUserId(
    new Gs2.Gs2Experience.Request.SetRankCapByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithUserId("user-0001")
        .WithExperienceName("character_ssr")
        .WithPropertyId("property-0001")
        .WithRankCapValue(30L)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var old = result.Old;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.setRankCapByUserId(
        new Gs2Experience.SetRankCapByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withRankCapValue(30)
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
    const old = result.getOld();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.set_rank_cap_by_user_id(
        experience.SetRankCapByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_user_id('user-0001')
            .with_experience_name('character_ssr')
            .with_property_id('property-0001')
            .with_rank_cap_value(30)
            .with_time_offset_token(None)
    )
    item = result.item
    old = result.old
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.set_rank_cap_by_user_id({
    namespaceName="namespace1",
    userId="user-0001",
    experienceName="character_ssr",
    propertyId="property-0001",
    rankCapValue=30,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;
old = result.old;

deleteStatusByUserId

ステータスを削除

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
userIdstring~ 128文字ユーザーID
experienceNamestring~ 128文字経験値モデルの名前
propertyIdstring~ 1024文字プロパティID
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明
itemStatus削除したステータス

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.DeleteStatusByUserId(
    &experience.DeleteStatusByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        ExperienceName: pointy.String("character_ssr"),
        PropertyId: pointy.String("property-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\DeleteStatusByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->deleteStatusByUserId(
        (new DeleteStatusByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withUserId("user-0001")
            ->withExperienceName("character_ssr")
            ->withPropertyId("property-0001")
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.DeleteStatusByUserIdRequest;
import io.gs2.experience.result.DeleteStatusByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    DeleteStatusByUserIdResult result = client.deleteStatusByUserId(
        new DeleteStatusByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withTimeOffsetToken(null)
    );
    Status item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.DeleteStatusByUserIdRequest;
using Gs2.Gs2Experience.Result.DeleteStatusByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.DeleteStatusByUserIdResult> asyncResult = null;
yield return client.DeleteStatusByUserId(
    new Gs2.Gs2Experience.Request.DeleteStatusByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithUserId("user-0001")
        .WithExperienceName("character_ssr")
        .WithPropertyId("property-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.deleteStatusByUserId(
        new Gs2Experience.DeleteStatusByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.delete_status_by_user_id(
        experience.DeleteStatusByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_user_id('user-0001')
            .with_experience_name('character_ssr')
            .with_property_id('property-0001')
            .with_time_offset_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.delete_status_by_user_id({
    namespaceName="namespace1",
    userId="user-0001",
    experienceName="character_ssr",
    propertyId="property-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

verifyRank

ランクを検証

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
accessTokenstring~ 128文字ユーザーID
experienceNamestring~ 128文字経験値モデルの名前
verifyTypeenum [
“less”,
“lessEqual”,
“greater”,
“greaterEqual”,
“equal”,
“notEqual”
]
~ 128文字検証の種類
propertyIdstring~ 1024文字プロパティID
rankValuelong0~ 9223372036854775805現在のランク
multiplyValueSpecifyingQuantityboolfalse数量指定した際に、検証に使用する値も乗算するか

Result

説明

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.VerifyRank(
    &experience.VerifyRankRequest {
        NamespaceName: pointy.String("namespace2"),
        AccessToken: pointy.String("accessToken-0001"),
        ExperienceName: pointy.String("character_ssr"),
        VerifyType: pointy.String("less"),
        PropertyId: pointy.String("property-0001"),
        RankValue: nil,
        MultiplyValueSpecifyingQuantity: nil,
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\VerifyRankRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->verifyRank(
        (new VerifyRankRequest())
            ->withNamespaceName(self::namespace2)
            ->withAccessToken(self::$accessToken0001)
            ->withExperienceName("character_ssr")
            ->withVerifyType("less")
            ->withPropertyId("property-0001")
            ->withRankValue(null)
            ->withMultiplyValueSpecifyingQuantity(null)
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.VerifyRankRequest;
import io.gs2.experience.result.VerifyRankResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    VerifyRankResult result = client.verifyRank(
        new VerifyRankRequest()
            .withNamespaceName("namespace2")
            .withAccessToken("accessToken-0001")
            .withExperienceName("character_ssr")
            .withVerifyType("less")
            .withPropertyId("property-0001")
            .withRankValue(null)
            .withMultiplyValueSpecifyingQuantity(null)
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.VerifyRankRequest;
using Gs2.Gs2Experience.Result.VerifyRankResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.VerifyRankResult> asyncResult = null;
yield return client.VerifyRank(
    new Gs2.Gs2Experience.Request.VerifyRankRequest()
        .WithNamespaceName("namespace2")
        .WithAccessToken("accessToken-0001")
        .WithExperienceName("character_ssr")
        .WithVerifyType("less")
        .WithPropertyId("property-0001")
        .WithRankValue(null)
        .WithMultiplyValueSpecifyingQuantity(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.verifyRank(
        new Gs2Experience.VerifyRankRequest()
            .withNamespaceName("namespace2")
            .withAccessToken("accessToken-0001")
            .withExperienceName("character_ssr")
            .withVerifyType("less")
            .withPropertyId("property-0001")
            .withRankValue(null)
            .withMultiplyValueSpecifyingQuantity(null)
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.verify_rank(
        experience.VerifyRankRequest()
            .with_namespace_name(self.hash2)
            .with_access_token(self.access_token_0001)
            .with_experience_name('character_ssr')
            .with_verify_type('less')
            .with_property_id('property-0001')
            .with_rank_value(None)
            .with_multiply_value_specifying_quantity(None)
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.verify_rank({
    namespaceName="namespace2",
    accessToken="accessToken-0001",
    experienceName="character_ssr",
    verifyType="less",
    propertyId="property-0001",
    rankValue=nil,
    multiplyValueSpecifyingQuantity=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result

verifyRankByUserId

ユーザーIDを指定してランクを検証

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
userIdstring~ 128文字ユーザーID
experienceNamestring~ 128文字経験値モデルの名前
verifyTypeenum [
“less”,
“lessEqual”,
“greater”,
“greaterEqual”,
“equal”,
“notEqual”
]
~ 128文字検証の種類
propertyIdstring~ 1024文字プロパティID
rankValuelong0~ 9223372036854775805現在のランク
multiplyValueSpecifyingQuantityboolfalse数量指定した際に、検証に使用する値も乗算するか
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.VerifyRankByUserId(
    &experience.VerifyRankByUserIdRequest {
        NamespaceName: pointy.String("namespace2"),
        UserId: pointy.String("user-0001"),
        ExperienceName: pointy.String("character_ssr"),
        VerifyType: pointy.String("less"),
        PropertyId: pointy.String("property-0001"),
        RankValue: nil,
        MultiplyValueSpecifyingQuantity: nil,
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\VerifyRankByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->verifyRankByUserId(
        (new VerifyRankByUserIdRequest())
            ->withNamespaceName(self::namespace2)
            ->withUserId("user-0001")
            ->withExperienceName("character_ssr")
            ->withVerifyType("less")
            ->withPropertyId("property-0001")
            ->withRankValue(null)
            ->withMultiplyValueSpecifyingQuantity(null)
            ->withTimeOffsetToken(null)
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.VerifyRankByUserIdRequest;
import io.gs2.experience.result.VerifyRankByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    VerifyRankByUserIdResult result = client.verifyRankByUserId(
        new VerifyRankByUserIdRequest()
            .withNamespaceName("namespace2")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withVerifyType("less")
            .withPropertyId("property-0001")
            .withRankValue(null)
            .withMultiplyValueSpecifyingQuantity(null)
            .withTimeOffsetToken(null)
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.VerifyRankByUserIdRequest;
using Gs2.Gs2Experience.Result.VerifyRankByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.VerifyRankByUserIdResult> asyncResult = null;
yield return client.VerifyRankByUserId(
    new Gs2.Gs2Experience.Request.VerifyRankByUserIdRequest()
        .WithNamespaceName("namespace2")
        .WithUserId("user-0001")
        .WithExperienceName("character_ssr")
        .WithVerifyType("less")
        .WithPropertyId("property-0001")
        .WithRankValue(null)
        .WithMultiplyValueSpecifyingQuantity(null)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.verifyRankByUserId(
        new Gs2Experience.VerifyRankByUserIdRequest()
            .withNamespaceName("namespace2")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withVerifyType("less")
            .withPropertyId("property-0001")
            .withRankValue(null)
            .withMultiplyValueSpecifyingQuantity(null)
            .withTimeOffsetToken(null)
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.verify_rank_by_user_id(
        experience.VerifyRankByUserIdRequest()
            .with_namespace_name(self.hash2)
            .with_user_id('user-0001')
            .with_experience_name('character_ssr')
            .with_verify_type('less')
            .with_property_id('property-0001')
            .with_rank_value(None)
            .with_multiply_value_specifying_quantity(None)
            .with_time_offset_token(None)
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.verify_rank_by_user_id({
    namespaceName="namespace2",
    userId="user-0001",
    experienceName="character_ssr",
    verifyType="less",
    propertyId="property-0001",
    rankValue=nil,
    multiplyValueSpecifyingQuantity=nil,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result

verifyRankCap

ランクキャップを検証

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
accessTokenstring~ 128文字ユーザーID
experienceNamestring~ 128文字経験値モデルの名前
verifyTypeenum [
“less”,
“lessEqual”,
“greater”,
“greaterEqual”,
“equal”,
“notEqual”
]
~ 128文字検証の種類
propertyIdstring~ 1024文字プロパティID
rankCapValuelong~ 9223372036854775805現在のランクキャップ
multiplyValueSpecifyingQuantityboolfalse数量指定した際に、検証に使用する値も乗算するか

Result

説明

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.VerifyRankCap(
    &experience.VerifyRankCapRequest {
        NamespaceName: pointy.String("namespace2"),
        AccessToken: pointy.String("accessToken-0001"),
        ExperienceName: pointy.String("character_ssr"),
        VerifyType: pointy.String("less"),
        PropertyId: pointy.String("property-0001"),
        RankCapValue: pointy.Int64(10),
        MultiplyValueSpecifyingQuantity: nil,
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\VerifyRankCapRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->verifyRankCap(
        (new VerifyRankCapRequest())
            ->withNamespaceName(self::namespace2)
            ->withAccessToken(self::$accessToken0001)
            ->withExperienceName("character_ssr")
            ->withVerifyType("less")
            ->withPropertyId("property-0001")
            ->withRankCapValue(10)
            ->withMultiplyValueSpecifyingQuantity(null)
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.VerifyRankCapRequest;
import io.gs2.experience.result.VerifyRankCapResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    VerifyRankCapResult result = client.verifyRankCap(
        new VerifyRankCapRequest()
            .withNamespaceName("namespace2")
            .withAccessToken("accessToken-0001")
            .withExperienceName("character_ssr")
            .withVerifyType("less")
            .withPropertyId("property-0001")
            .withRankCapValue(10L)
            .withMultiplyValueSpecifyingQuantity(null)
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.VerifyRankCapRequest;
using Gs2.Gs2Experience.Result.VerifyRankCapResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.VerifyRankCapResult> asyncResult = null;
yield return client.VerifyRankCap(
    new Gs2.Gs2Experience.Request.VerifyRankCapRequest()
        .WithNamespaceName("namespace2")
        .WithAccessToken("accessToken-0001")
        .WithExperienceName("character_ssr")
        .WithVerifyType("less")
        .WithPropertyId("property-0001")
        .WithRankCapValue(10L)
        .WithMultiplyValueSpecifyingQuantity(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.verifyRankCap(
        new Gs2Experience.VerifyRankCapRequest()
            .withNamespaceName("namespace2")
            .withAccessToken("accessToken-0001")
            .withExperienceName("character_ssr")
            .withVerifyType("less")
            .withPropertyId("property-0001")
            .withRankCapValue(10)
            .withMultiplyValueSpecifyingQuantity(null)
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.verify_rank_cap(
        experience.VerifyRankCapRequest()
            .with_namespace_name(self.hash2)
            .with_access_token(self.access_token_0001)
            .with_experience_name('character_ssr')
            .with_verify_type('less')
            .with_property_id('property-0001')
            .with_rank_cap_value(10)
            .with_multiply_value_specifying_quantity(None)
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.verify_rank_cap({
    namespaceName="namespace2",
    accessToken="accessToken-0001",
    experienceName="character_ssr",
    verifyType="less",
    propertyId="property-0001",
    rankCapValue=10,
    multiplyValueSpecifyingQuantity=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result

verifyRankCapByUserId

ユーザーIDを指定してランクキャップを検証

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
userIdstring~ 128文字ユーザーID
experienceNamestring~ 128文字経験値モデルの名前
verifyTypeenum [
“less”,
“lessEqual”,
“greater”,
“greaterEqual”,
“equal”,
“notEqual”
]
~ 128文字検証の種類
propertyIdstring~ 1024文字プロパティID
rankCapValuelong~ 9223372036854775805現在のランクキャップ
multiplyValueSpecifyingQuantityboolfalse数量指定した際に、検証に使用する値も乗算するか
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.VerifyRankCapByUserId(
    &experience.VerifyRankCapByUserIdRequest {
        NamespaceName: pointy.String("namespace2"),
        UserId: pointy.String("user-0001"),
        ExperienceName: pointy.String("character_ssr"),
        VerifyType: pointy.String("less"),
        PropertyId: pointy.String("property-0001"),
        RankCapValue: pointy.Int64(10),
        MultiplyValueSpecifyingQuantity: nil,
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\VerifyRankCapByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->verifyRankCapByUserId(
        (new VerifyRankCapByUserIdRequest())
            ->withNamespaceName(self::namespace2)
            ->withUserId("user-0001")
            ->withExperienceName("character_ssr")
            ->withVerifyType("less")
            ->withPropertyId("property-0001")
            ->withRankCapValue(10)
            ->withMultiplyValueSpecifyingQuantity(null)
            ->withTimeOffsetToken(null)
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.VerifyRankCapByUserIdRequest;
import io.gs2.experience.result.VerifyRankCapByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    VerifyRankCapByUserIdResult result = client.verifyRankCapByUserId(
        new VerifyRankCapByUserIdRequest()
            .withNamespaceName("namespace2")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withVerifyType("less")
            .withPropertyId("property-0001")
            .withRankCapValue(10L)
            .withMultiplyValueSpecifyingQuantity(null)
            .withTimeOffsetToken(null)
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.VerifyRankCapByUserIdRequest;
using Gs2.Gs2Experience.Result.VerifyRankCapByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.VerifyRankCapByUserIdResult> asyncResult = null;
yield return client.VerifyRankCapByUserId(
    new Gs2.Gs2Experience.Request.VerifyRankCapByUserIdRequest()
        .WithNamespaceName("namespace2")
        .WithUserId("user-0001")
        .WithExperienceName("character_ssr")
        .WithVerifyType("less")
        .WithPropertyId("property-0001")
        .WithRankCapValue(10L)
        .WithMultiplyValueSpecifyingQuantity(null)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.verifyRankCapByUserId(
        new Gs2Experience.VerifyRankCapByUserIdRequest()
            .withNamespaceName("namespace2")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withVerifyType("less")
            .withPropertyId("property-0001")
            .withRankCapValue(10)
            .withMultiplyValueSpecifyingQuantity(null)
            .withTimeOffsetToken(null)
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.verify_rank_cap_by_user_id(
        experience.VerifyRankCapByUserIdRequest()
            .with_namespace_name(self.hash2)
            .with_user_id('user-0001')
            .with_experience_name('character_ssr')
            .with_verify_type('less')
            .with_property_id('property-0001')
            .with_rank_cap_value(10)
            .with_multiply_value_specifying_quantity(None)
            .with_time_offset_token(None)
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.verify_rank_cap_by_user_id({
    namespaceName="namespace2",
    userId="user-0001",
    experienceName="character_ssr",
    verifyType="less",
    propertyId="property-0001",
    rankCapValue=10,
    multiplyValueSpecifyingQuantity=nil,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result

addExperienceByStampSheet

スタンプシートを使用して経験値を加算

Request

有効化条件必須デフォルト値の制限説明
stampSheetstring~ 5242880文字スタンプシート
keyIdstring~ 1024文字暗号鍵GRN

Result

説明
itemStatus加算後のステータス

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.AddExperienceByStampSheet(
    &experience.AddExperienceByStampSheetRequest {
        StampSheet: pointy.String("stampSheet"),
        KeyId: pointy.String("key-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\AddExperienceByStampSheetRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->addExperienceByStampSheet(
        (new AddExperienceByStampSheetRequest())
            ->withStampSheet(self::stampSheet)
            ->withKeyId(self::key-0001)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.AddExperienceByStampSheetRequest;
import io.gs2.experience.result.AddExperienceByStampSheetResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    AddExperienceByStampSheetResult result = client.addExperienceByStampSheet(
        new AddExperienceByStampSheetRequest()
            .withStampSheet("stampSheet")
            .withKeyId("key-0001")
    );
    Status item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.AddExperienceByStampSheetRequest;
using Gs2.Gs2Experience.Result.AddExperienceByStampSheetResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.AddExperienceByStampSheetResult> asyncResult = null;
yield return client.AddExperienceByStampSheet(
    new Gs2.Gs2Experience.Request.AddExperienceByStampSheetRequest()
        .WithStampSheet("stampSheet")
        .WithKeyId("key-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.addExperienceByStampSheet(
        new Gs2Experience.AddExperienceByStampSheetRequest()
            .withStampSheet("stampSheet")
            .withKeyId("key-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.add_experience_by_stamp_sheet(
        experience.AddExperienceByStampSheetRequest()
            .with_stamp_sheet(self.stamp_sheet)
            .with_key_id(self.key1.key_id)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.add_experience_by_stamp_sheet({
    stampSheet="stampSheet",
    keyId="key-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

setExperienceByStampSheet

スタンプシートを使用して経験値を設定

Request

有効化条件必須デフォルト値の制限説明
stampSheetstring~ 5242880文字スタンプシート
keyIdstring~ 1024文字暗号鍵GRN

Result

説明
itemStatus更新後のステータス

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.SetExperienceByStampSheet(
    &experience.SetExperienceByStampSheetRequest {
        StampSheet: pointy.String("stampSheet"),
        KeyId: pointy.String("key-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\SetExperienceByStampSheetRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->setExperienceByStampSheet(
        (new SetExperienceByStampSheetRequest())
            ->withStampSheet(self::stampSheet)
            ->withKeyId(self::key-0001)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.SetExperienceByStampSheetRequest;
import io.gs2.experience.result.SetExperienceByStampSheetResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    SetExperienceByStampSheetResult result = client.setExperienceByStampSheet(
        new SetExperienceByStampSheetRequest()
            .withStampSheet("stampSheet")
            .withKeyId("key-0001")
    );
    Status item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.SetExperienceByStampSheetRequest;
using Gs2.Gs2Experience.Result.SetExperienceByStampSheetResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.SetExperienceByStampSheetResult> asyncResult = null;
yield return client.SetExperienceByStampSheet(
    new Gs2.Gs2Experience.Request.SetExperienceByStampSheetRequest()
        .WithStampSheet("stampSheet")
        .WithKeyId("key-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.setExperienceByStampSheet(
        new Gs2Experience.SetExperienceByStampSheetRequest()
            .withStampSheet("stampSheet")
            .withKeyId("key-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.set_experience_by_stamp_sheet(
        experience.SetExperienceByStampSheetRequest()
            .with_stamp_sheet(self.stamp_sheet)
            .with_key_id(self.key1.key_id)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.set_experience_by_stamp_sheet({
    stampSheet="stampSheet",
    keyId="key-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

subExperienceByStampTask

スタンプタスクを使用して経験値を減算

Request

有効化条件必須デフォルト値の制限説明
stampTaskstring~ 5242880文字スタンプタスク
keyIdstring~ 1024文字暗号鍵GRN

Result

説明
itemStatus減算後のステータス
newContextStackstringスタンプタスクの実行結果を記録したコンテキスト

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.SubExperienceByStampTask(
    &experience.SubExperienceByStampTaskRequest {
        StampTask: pointy.String("stampTask"),
        KeyId: pointy.String("key-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
newContextStack := result.NewContextStack
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\SubExperienceByStampTaskRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->subExperienceByStampTask(
        (new SubExperienceByStampTaskRequest())
            ->withStampTask(self::stampTask)
            ->withKeyId(self::key-0001)
    );
    $item = $result->getItem();
    $newContextStack = $result->getNewContextStack();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.SubExperienceByStampTaskRequest;
import io.gs2.experience.result.SubExperienceByStampTaskResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    SubExperienceByStampTaskResult result = client.subExperienceByStampTask(
        new SubExperienceByStampTaskRequest()
            .withStampTask("stampTask")
            .withKeyId("key-0001")
    );
    Status item = result.getItem();
    String newContextStack = result.getNewContextStack();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.SubExperienceByStampTaskRequest;
using Gs2.Gs2Experience.Result.SubExperienceByStampTaskResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.SubExperienceByStampTaskResult> asyncResult = null;
yield return client.SubExperienceByStampTask(
    new Gs2.Gs2Experience.Request.SubExperienceByStampTaskRequest()
        .WithStampTask("stampTask")
        .WithKeyId("key-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var newContextStack = result.NewContextStack;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.subExperienceByStampTask(
        new Gs2Experience.SubExperienceByStampTaskRequest()
            .withStampTask("stampTask")
            .withKeyId("key-0001")
    );
    const item = result.getItem();
    const newContextStack = result.getNewContextStack();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.sub_experience_by_stamp_task(
        experience.SubExperienceByStampTaskRequest()
            .with_stamp_task(self.stamp_task)
            .with_key_id(self.key1.key_id)
    )
    item = result.item
    new_context_stack = result.new_context_stack
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.sub_experience_by_stamp_task({
    stampTask="stampTask",
    keyId="key-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;
newContextStack = result.newContextStack;

addRankCapByStampSheet

スタンプシートを使用してランクキャップを加算

Request

有効化条件必須デフォルト値の制限説明
stampSheetstring~ 5242880文字スタンプシート
keyIdstring~ 1024文字暗号鍵GRN

Result

説明
itemStatus加算後のステータス

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.AddRankCapByStampSheet(
    &experience.AddRankCapByStampSheetRequest {
        StampSheet: pointy.String("stampSheet"),
        KeyId: pointy.String("key-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\AddRankCapByStampSheetRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->addRankCapByStampSheet(
        (new AddRankCapByStampSheetRequest())
            ->withStampSheet(self::stampSheet)
            ->withKeyId(self::key-0001)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.AddRankCapByStampSheetRequest;
import io.gs2.experience.result.AddRankCapByStampSheetResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    AddRankCapByStampSheetResult result = client.addRankCapByStampSheet(
        new AddRankCapByStampSheetRequest()
            .withStampSheet("stampSheet")
            .withKeyId("key-0001")
    );
    Status item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.AddRankCapByStampSheetRequest;
using Gs2.Gs2Experience.Result.AddRankCapByStampSheetResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.AddRankCapByStampSheetResult> asyncResult = null;
yield return client.AddRankCapByStampSheet(
    new Gs2.Gs2Experience.Request.AddRankCapByStampSheetRequest()
        .WithStampSheet("stampSheet")
        .WithKeyId("key-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.addRankCapByStampSheet(
        new Gs2Experience.AddRankCapByStampSheetRequest()
            .withStampSheet("stampSheet")
            .withKeyId("key-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.add_rank_cap_by_stamp_sheet(
        experience.AddRankCapByStampSheetRequest()
            .with_stamp_sheet(self.stamp_sheet)
            .with_key_id(self.key1.key_id)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.add_rank_cap_by_stamp_sheet({
    stampSheet="stampSheet",
    keyId="key-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

subRankCapByStampTask

スタンプタスクを使用してランクキャップを減算

Request

有効化条件必須デフォルト値の制限説明
stampTaskstring~ 5242880文字スタンプタスク
keyIdstring~ 1024文字暗号鍵GRN

Result

説明
itemStatus減算後のステータス
newContextStackstringスタンプタスクの実行結果を記録したコンテキスト

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.SubRankCapByStampTask(
    &experience.SubRankCapByStampTaskRequest {
        StampTask: pointy.String("stampTask"),
        KeyId: pointy.String("key-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
newContextStack := result.NewContextStack
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\SubRankCapByStampTaskRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->subRankCapByStampTask(
        (new SubRankCapByStampTaskRequest())
            ->withStampTask(self::stampTask)
            ->withKeyId(self::key-0001)
    );
    $item = $result->getItem();
    $newContextStack = $result->getNewContextStack();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.SubRankCapByStampTaskRequest;
import io.gs2.experience.result.SubRankCapByStampTaskResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    SubRankCapByStampTaskResult result = client.subRankCapByStampTask(
        new SubRankCapByStampTaskRequest()
            .withStampTask("stampTask")
            .withKeyId("key-0001")
    );
    Status item = result.getItem();
    String newContextStack = result.getNewContextStack();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.SubRankCapByStampTaskRequest;
using Gs2.Gs2Experience.Result.SubRankCapByStampTaskResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.SubRankCapByStampTaskResult> asyncResult = null;
yield return client.SubRankCapByStampTask(
    new Gs2.Gs2Experience.Request.SubRankCapByStampTaskRequest()
        .WithStampTask("stampTask")
        .WithKeyId("key-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var newContextStack = result.NewContextStack;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.subRankCapByStampTask(
        new Gs2Experience.SubRankCapByStampTaskRequest()
            .withStampTask("stampTask")
            .withKeyId("key-0001")
    );
    const item = result.getItem();
    const newContextStack = result.getNewContextStack();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.sub_rank_cap_by_stamp_task(
        experience.SubRankCapByStampTaskRequest()
            .with_stamp_task(self.stamp_task)
            .with_key_id(self.key1.key_id)
    )
    item = result.item
    new_context_stack = result.new_context_stack
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.sub_rank_cap_by_stamp_task({
    stampTask="stampTask",
    keyId="key-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;
newContextStack = result.newContextStack;

setRankCapByStampSheet

スタンプシートを使用してランクキャップを更新

Request

有効化条件必須デフォルト値の制限説明
stampSheetstring~ 5242880文字スタンプシート
keyIdstring~ 1024文字暗号鍵GRN

Result

説明
itemStatus更新後のステータス
oldStatus更新前のステータス

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.SetRankCapByStampSheet(
    &experience.SetRankCapByStampSheetRequest {
        StampSheet: pointy.String("stampSheet"),
        KeyId: pointy.String("key-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
old := result.Old
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\SetRankCapByStampSheetRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->setRankCapByStampSheet(
        (new SetRankCapByStampSheetRequest())
            ->withStampSheet(self::stampSheet)
            ->withKeyId(self::key-0001)
    );
    $item = $result->getItem();
    $old = $result->getOld();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.SetRankCapByStampSheetRequest;
import io.gs2.experience.result.SetRankCapByStampSheetResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    SetRankCapByStampSheetResult result = client.setRankCapByStampSheet(
        new SetRankCapByStampSheetRequest()
            .withStampSheet("stampSheet")
            .withKeyId("key-0001")
    );
    Status item = result.getItem();
    Status old = result.getOld();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.SetRankCapByStampSheetRequest;
using Gs2.Gs2Experience.Result.SetRankCapByStampSheetResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.SetRankCapByStampSheetResult> asyncResult = null;
yield return client.SetRankCapByStampSheet(
    new Gs2.Gs2Experience.Request.SetRankCapByStampSheetRequest()
        .WithStampSheet("stampSheet")
        .WithKeyId("key-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var old = result.Old;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.setRankCapByStampSheet(
        new Gs2Experience.SetRankCapByStampSheetRequest()
            .withStampSheet("stampSheet")
            .withKeyId("key-0001")
    );
    const item = result.getItem();
    const old = result.getOld();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.set_rank_cap_by_stamp_sheet(
        experience.SetRankCapByStampSheetRequest()
            .with_stamp_sheet(self.stamp_sheet)
            .with_key_id(self.key1.key_id)
    )
    item = result.item
    old = result.old
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.set_rank_cap_by_stamp_sheet({
    stampSheet="stampSheet",
    keyId="key-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;
old = result.old;

multiplyAcquireActionsByUserId

経験値の対象プロパティのランクに応じてリソースを加算

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
userIdstring~ 128文字ユーザーID
experienceNamestring~ 128文字経験値モデルの名前
propertyIdstring~ 1024文字プロパティID
rateNamestring~ 128文字報酬加算テーブル名
acquireActionsList<AcquireAction>[]~ 100 items入手アクションリスト
timeOffsetTokenstring~ 1024文字タイムオフセットトークン

Result

説明
itemsList<AcquireAction>報酬
transactionIdstring発行されたスタンプシートのトランザクションID
stampSheetstringスタンプシート
stampSheetEncryptionKeyIdstringスタンプシートの署名計算に使用した暗号鍵GRN
autoRunStampSheetbool?スタンプシートの自動実行が有効か

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.MultiplyAcquireActionsByUserId(
    &experience.MultiplyAcquireActionsByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        ExperienceName: pointy.String("character_ssr"),
        PropertyId: pointy.String("property-0001"),
        RateName: pointy.String("rate-0001"),
        AcquireActions: []experience.AcquireAction{
            experience.AcquireAction{
                Action: pointy.String("Gs2Experience:AddRankCapByUserId"),
                Request: pointy.String("{\"namespaceName\": \"namespace-0001\", \"experienceName\": \"character\", \"propertyId\": \"property-0001\", \"userId\": \"#{userId}\", \"rankCapValue\": 1}"),
            },
        },
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
transactionId := result.TransactionId
stampSheet := result.StampSheet
stampSheetEncryptionKeyId := result.StampSheetEncryptionKeyId
autoRunStampSheet := result.AutoRunStampSheet
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\MultiplyAcquireActionsByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->multiplyAcquireActionsByUserId(
        (new MultiplyAcquireActionsByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withUserId("user-0001")
            ->withExperienceName("character_ssr")
            ->withPropertyId("property-0001")
            ->withRateName("rate-0001")
            ->withAcquireActions([
                (new AcquireAction())
                    ->withAction("Gs2Experience:AddRankCapByUserId")
                    ->withRequest("{\"namespaceName\": \"namespace-0001\", \"experienceName\": \"character\", \"propertyId\": \"property-0001\", \"userId\": \"#{userId}\", \"rankCapValue\": 1}"),
            ])
            ->withTimeOffsetToken(null)
    );
    $items = $result->getItems();
    $transactionId = $result->getTransactionId();
    $stampSheet = $result->getStampSheet();
    $stampSheetEncryptionKeyId = $result->getStampSheetEncryptionKeyId();
    $autoRunStampSheet = $result->getAutoRunStampSheet();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.MultiplyAcquireActionsByUserIdRequest;
import io.gs2.experience.result.MultiplyAcquireActionsByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    MultiplyAcquireActionsByUserIdResult result = client.multiplyAcquireActionsByUserId(
        new MultiplyAcquireActionsByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withRateName("rate-0001")
            .withAcquireActions(Arrays.asList(
                new AcquireAction()
                    .withAction("Gs2Experience:AddRankCapByUserId")
                    .withRequest("{\"namespaceName\": \"namespace-0001\", \"experienceName\": \"character\", \"propertyId\": \"property-0001\", \"userId\": \"#{userId}\", \"rankCapValue\": 1}")
            ))
            .withTimeOffsetToken(null)
    );
    List<AcquireAction> items = result.getItems();
    String transactionId = result.getTransactionId();
    String stampSheet = result.getStampSheet();
    String stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    boolean autoRunStampSheet = result.getAutoRunStampSheet();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.MultiplyAcquireActionsByUserIdRequest;
using Gs2.Gs2Experience.Result.MultiplyAcquireActionsByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.MultiplyAcquireActionsByUserIdResult> asyncResult = null;
yield return client.MultiplyAcquireActionsByUserId(
    new Gs2.Gs2Experience.Request.MultiplyAcquireActionsByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithUserId("user-0001")
        .WithExperienceName("character_ssr")
        .WithPropertyId("property-0001")
        .WithRateName("rate-0001")
        .WithAcquireActions(new Gs2.Core.Model.AcquireAction[] {
            new Gs2.Core.Model.AcquireAction()
                .WithAction("Gs2Experience:AddRankCapByUserId")
                .WithRequest("{\"namespaceName\": \"namespace-0001\", \"experienceName\": \"character\", \"propertyId\": \"property-0001\", \"userId\": \"#{userId}\", \"rankCapValue\": 1}"),
        })
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var transactionId = result.TransactionId;
var stampSheet = result.StampSheet;
var stampSheetEncryptionKeyId = result.StampSheetEncryptionKeyId;
var autoRunStampSheet = result.AutoRunStampSheet;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.multiplyAcquireActionsByUserId(
        new Gs2Experience.MultiplyAcquireActionsByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withExperienceName("character_ssr")
            .withPropertyId("property-0001")
            .withRateName("rate-0001")
            .withAcquireActions([
                new Gs2Experience.model.AcquireAction()
                    .withAction("Gs2Experience:AddRankCapByUserId")
                    .withRequest("{\"namespaceName\": \"namespace-0001\", \"experienceName\": \"character\", \"propertyId\": \"property-0001\", \"userId\": \"#{userId}\", \"rankCapValue\": 1}"),
            ])
            .withTimeOffsetToken(null)
    );
    const items = result.getItems();
    const transactionId = result.getTransactionId();
    const stampSheet = result.getStampSheet();
    const stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    const autoRunStampSheet = result.getAutoRunStampSheet();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.multiply_acquire_actions_by_user_id(
        experience.MultiplyAcquireActionsByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_user_id('user-0001')
            .with_experience_name('character_ssr')
            .with_property_id('property-0001')
            .with_rate_name('rate-0001')
            .with_acquire_actions([
                experience.AcquireAction()
                    .with_action('Gs2Experience:AddRankCapByUserId')
                    .with_request('{"namespaceName": "namespace-0001", "experienceName": "character", "propertyId": "property-0001", "userId": "#{userId}", "rankCapValue": 1}'),
            ])
            .with_time_offset_token(None)
    )
    items = result.items
    transaction_id = result.transaction_id
    stamp_sheet = result.stamp_sheet
    stamp_sheet_encryption_key_id = result.stamp_sheet_encryption_key_id
    auto_run_stamp_sheet = result.auto_run_stamp_sheet
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.multiply_acquire_actions_by_user_id({
    namespaceName="namespace1",
    userId="user-0001",
    experienceName="character_ssr",
    propertyId="property-0001",
    rateName="rate-0001",
    acquireActions={
        {
            action="Gs2Experience:AddRankCapByUserId",
            request="{\"namespaceName\": \"namespace-0001\", \"experienceName\": \"character\", \"propertyId\": \"property-0001\", \"userId\": \"#{userId}\", \"rankCapValue\": 1}",
        }
    },
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;
transactionId = result.transactionId;
stampSheet = result.stampSheet;
stampSheetEncryptionKeyId = result.stampSheetEncryptionKeyId;
autoRunStampSheet = result.autoRunStampSheet;

multiplyAcquireActionsByStampSheet

スタンプシートを使用して、経験値の対象プロパティのランクに応じてリソースを加算

Request

有効化条件必須デフォルト値の制限説明
stampSheetstring~ 5242880文字スタンプシート
keyIdstring~ 1024文字暗号鍵GRN

Result

説明
itemsList<AcquireAction>報酬
transactionIdstring発行されたスタンプシートのトランザクションID
stampSheetstringスタンプシート
stampSheetEncryptionKeyIdstringスタンプシートの署名計算に使用した暗号鍵GRN
autoRunStampSheetbool?スタンプシートの自動実行が有効か

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.MultiplyAcquireActionsByStampSheet(
    &experience.MultiplyAcquireActionsByStampSheetRequest {
        StampSheet: pointy.String("stampSheet"),
        KeyId: pointy.String("key-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
transactionId := result.TransactionId
stampSheet := result.StampSheet
stampSheetEncryptionKeyId := result.StampSheetEncryptionKeyId
autoRunStampSheet := result.AutoRunStampSheet
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\MultiplyAcquireActionsByStampSheetRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->multiplyAcquireActionsByStampSheet(
        (new MultiplyAcquireActionsByStampSheetRequest())
            ->withStampSheet(self::stampSheet)
            ->withKeyId(self::key-0001)
    );
    $items = $result->getItems();
    $transactionId = $result->getTransactionId();
    $stampSheet = $result->getStampSheet();
    $stampSheetEncryptionKeyId = $result->getStampSheetEncryptionKeyId();
    $autoRunStampSheet = $result->getAutoRunStampSheet();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.MultiplyAcquireActionsByStampSheetRequest;
import io.gs2.experience.result.MultiplyAcquireActionsByStampSheetResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    MultiplyAcquireActionsByStampSheetResult result = client.multiplyAcquireActionsByStampSheet(
        new MultiplyAcquireActionsByStampSheetRequest()
            .withStampSheet("stampSheet")
            .withKeyId("key-0001")
    );
    List<AcquireAction> items = result.getItems();
    String transactionId = result.getTransactionId();
    String stampSheet = result.getStampSheet();
    String stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    boolean autoRunStampSheet = result.getAutoRunStampSheet();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.MultiplyAcquireActionsByStampSheetRequest;
using Gs2.Gs2Experience.Result.MultiplyAcquireActionsByStampSheetResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.MultiplyAcquireActionsByStampSheetResult> asyncResult = null;
yield return client.MultiplyAcquireActionsByStampSheet(
    new Gs2.Gs2Experience.Request.MultiplyAcquireActionsByStampSheetRequest()
        .WithStampSheet("stampSheet")
        .WithKeyId("key-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var transactionId = result.TransactionId;
var stampSheet = result.StampSheet;
var stampSheetEncryptionKeyId = result.StampSheetEncryptionKeyId;
var autoRunStampSheet = result.AutoRunStampSheet;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.multiplyAcquireActionsByStampSheet(
        new Gs2Experience.MultiplyAcquireActionsByStampSheetRequest()
            .withStampSheet("stampSheet")
            .withKeyId("key-0001")
    );
    const items = result.getItems();
    const transactionId = result.getTransactionId();
    const stampSheet = result.getStampSheet();
    const stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    const autoRunStampSheet = result.getAutoRunStampSheet();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.multiply_acquire_actions_by_stamp_sheet(
        experience.MultiplyAcquireActionsByStampSheetRequest()
            .with_stamp_sheet(self.stamp_sheet)
            .with_key_id(self.key1.key_id)
    )
    items = result.items
    transaction_id = result.transaction_id
    stamp_sheet = result.stamp_sheet
    stamp_sheet_encryption_key_id = result.stamp_sheet_encryption_key_id
    auto_run_stamp_sheet = result.auto_run_stamp_sheet
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.multiply_acquire_actions_by_stamp_sheet({
    stampSheet="stampSheet",
    keyId="key-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;
transactionId = result.transactionId;
stampSheet = result.stampSheet;
stampSheetEncryptionKeyId = result.stampSheetEncryptionKeyId;
autoRunStampSheet = result.autoRunStampSheet;

verifyRankByStampTask

スタンプタスクを使用してランクを検証

Request

有効化条件必須デフォルト値の制限説明
stampTaskstring~ 5242880文字スタンプタスク
keyIdstring~ 1024文字暗号鍵GRN

Result

説明
newContextStackstringスタンプタスクの実行結果を記録したコンテキスト

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.VerifyRankByStampTask(
    &experience.VerifyRankByStampTaskRequest {
        StampTask: pointy.String("stampTask"),
        KeyId: pointy.String("key-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
newContextStack := result.NewContextStack
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\VerifyRankByStampTaskRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->verifyRankByStampTask(
        (new VerifyRankByStampTaskRequest())
            ->withStampTask(self::stampTask)
            ->withKeyId(self::key-0001)
    );
    $newContextStack = $result->getNewContextStack();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.VerifyRankByStampTaskRequest;
import io.gs2.experience.result.VerifyRankByStampTaskResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    VerifyRankByStampTaskResult result = client.verifyRankByStampTask(
        new VerifyRankByStampTaskRequest()
            .withStampTask("stampTask")
            .withKeyId("key-0001")
    );
    String newContextStack = result.getNewContextStack();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.VerifyRankByStampTaskRequest;
using Gs2.Gs2Experience.Result.VerifyRankByStampTaskResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.VerifyRankByStampTaskResult> asyncResult = null;
yield return client.VerifyRankByStampTask(
    new Gs2.Gs2Experience.Request.VerifyRankByStampTaskRequest()
        .WithStampTask("stampTask")
        .WithKeyId("key-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var newContextStack = result.NewContextStack;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.verifyRankByStampTask(
        new Gs2Experience.VerifyRankByStampTaskRequest()
            .withStampTask("stampTask")
            .withKeyId("key-0001")
    );
    const newContextStack = result.getNewContextStack();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.verify_rank_by_stamp_task(
        experience.VerifyRankByStampTaskRequest()
            .with_stamp_task(self.stamp_task)
            .with_key_id(self.key1.key_id)
    )
    new_context_stack = result.new_context_stack
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.verify_rank_by_stamp_task({
    stampTask="stampTask",
    keyId="key-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
newContextStack = result.newContextStack;

verifyRankCapByStampTask

スタンプタスクを使用してランクキャップを検証

Request

有効化条件必須デフォルト値の制限説明
stampTaskstring~ 5242880文字スタンプタスク
keyIdstring~ 1024文字暗号鍵GRN

Result

説明
newContextStackstringスタンプタスクの実行結果を記録したコンテキスト

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/experience"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := experience.Gs2ExperienceRestClient{
    Session: &session,
}
result, err := client.VerifyRankCapByStampTask(
    &experience.VerifyRankCapByStampTaskRequest {
        StampTask: pointy.String("stampTask"),
        KeyId: pointy.String("key-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
newContextStack := result.NewContextStack
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Experience\Gs2ExperienceRestClient;
use Gs2\Experience\Request\VerifyRankCapByStampTaskRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->verifyRankCapByStampTask(
        (new VerifyRankCapByStampTaskRequest())
            ->withStampTask(self::stampTask)
            ->withKeyId(self::key-0001)
    );
    $newContextStack = $result->getNewContextStack();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.experience.rest.Gs2ExperienceRestClient;
import io.gs2.experience.request.VerifyRankCapByStampTaskRequest;
import io.gs2.experience.result.VerifyRankCapByStampTaskResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2ExperienceRestClient client = new Gs2ExperienceRestClient(session);

try {
    VerifyRankCapByStampTaskResult result = client.verifyRankCapByStampTask(
        new VerifyRankCapByStampTaskRequest()
            .withStampTask("stampTask")
            .withKeyId("key-0001")
    );
    String newContextStack = result.getNewContextStack();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Experience.Gs2ExperienceRestClient;
using Gs2.Gs2Experience.Request.VerifyRankCapByStampTaskRequest;
using Gs2.Gs2Experience.Result.VerifyRankCapByStampTaskResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2ExperienceRestClient(session);

AsyncResult<Gs2.Gs2Experience.Result.VerifyRankCapByStampTaskResult> asyncResult = null;
yield return client.VerifyRankCapByStampTask(
    new Gs2.Gs2Experience.Request.VerifyRankCapByStampTaskRequest()
        .WithStampTask("stampTask")
        .WithKeyId("key-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var newContextStack = result.NewContextStack;
import Gs2Core from '@/gs2/core';
import * as Gs2Experience from '@/gs2/experience';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Experience.Gs2ExperienceRestClient(session);

try {
    const result = await client.verifyRankCapByStampTask(
        new Gs2Experience.VerifyRankCapByStampTaskRequest()
            .withStampTask("stampTask")
            .withKeyId("key-0001")
    );
    const newContextStack = result.getNewContextStack();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import experience

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = experience.Gs2ExperienceRestClient(session)

try:
    result = client.verify_rank_cap_by_stamp_task(
        experience.VerifyRankCapByStampTaskRequest()
            .with_stamp_task(self.stamp_task)
            .with_key_id(self.key1.key_id)
    )
    new_context_stack = result.new_context_stack
except core.Gs2Exception as e:
    exit(1)
client = gs2('experience')

api_result = client.verify_rank_cap_by_stamp_task({
    stampTask="stampTask",
    keyId="key-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
newContextStack = result.newContextStack;