GS2-SkillTree SDK API リファレンス
モデル
Namespace
ネームスペース
ネームスペースは一つのプロジェクトで同じサービスを異なる用途で複数利用できるようにするための仕組みです。
GS2 のサービスは基本的にネームスペースというレイヤーがあり、ネームスペースが異なれば同じサービスでもまったく別のデータ空間として取り扱われます。
そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceId | string | | ✓ | | ~ 1024文字 | ネームスペースGRN |
name | string | | ✓ | | ~ 32文字 | ネームスペース名 |
description | string | | | | ~ 1024文字 | 説明文 |
transactionSetting | TransactionSetting | | ✓ | | | トランザクション設定 |
releaseScript | ScriptSetting | | | | | ノード開放時に実行するスクリプト |
restrainScript | ScriptSetting | | | | | ノード開放状態を未解放状態に戻す時に実行するスクリプト |
logSetting | LogSetting | | | | | ログの出力設定 |
createdAt | long | | ✓ | | | 作成日時 |
updatedAt | long | | ✓ | | | 最終更新日時 |
revision | long | | | 0 | ~ 9223372036854775805 | リビジョン |
NodeModel
ノードモデルはスキルツリーに配置するノードのモデルです。
ノードには解放に必要なコストと、ノードの解放状態を未解放状態に戻した時に返却されるコストの割合を設定できます。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
nodeModelId | string | | ✓ | | ~ 1024文字 | ノードモデルGRN |
name | string | | ✓ | | ~ 128文字 | ノードモデル名 |
metadata | string | | | | ~ 2048文字 | メタデータ |
releaseConsumeActions | List<ConsumeAction> | | ✓ | [] | | 解放に必要な消費アクションリスト |
returnAcquireActions | List<AcquireAction> | | | | | 返却される入手アクションリスト |
restrainReturnRate | float | | ✓ | 1 | ~ 1 | 返却率 |
premiseNodeNames | List<string> | | | | | 解放の前提とするノードモデル名リスト |
NodeModelMaster
ノードモデルはスキルツリーに配置するノードのモデルです。
ノードには解放に必要なコストと、ノードの解放状態を未解放状態に戻した時に返却されるコストの割合を設定できます。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
nodeModelId | string | | ✓ | | ~ 1024文字 | ノードモデルマスターGRN |
name | string | | ✓ | | ~ 128文字 | ノードモデル名 |
description | string | | | | ~ 1024文字 | 説明文 |
metadata | string | | | | ~ 2048文字 | メタデータ |
releaseConsumeActions | List<ConsumeAction> | | ✓ | [] | | 解放に必要な消費アクションリスト |
restrainReturnRate | float | | ✓ | 1.0 | ~ 1.0 | 返却率 |
premiseNodeNames | List<string> | | | | | 解放の前提とするノードモデル名リスト |
createdAt | long | | ✓ | | | 作成日時 |
updatedAt | long | | ✓ | | | 最終更新日時 |
revision | long | | | 0 | ~ 9223372036854775805 | リビジョン |
Status
スキルツリーの解放状況
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
statusId | string | | ✓ | | ~ 1024文字 | ステータスGRN |
userId | string | | ✓ | | ~ 128文字 | ユーザーID |
releasedNodeNames | List<string> | | | [] | | 解放済みのノードモデル名リスト |
createdAt | long | | ✓ | | | 作成日時 |
updatedAt | long | | ✓ | | | 最終更新日時 |
revision | long | | | 0 | ~ 9223372036854775805 | リビジョン |
CurrentTreeMaster
現在有効なマスターデータ
GS2ではマスターデータの管理にJSON形式のファイルを使用します。
ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。
JSONファイルを作成する方法として、マネージメントコンソール上でのマスターデータエディタを提供していますが
よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。
JSONファイルの形式についてはドキュメントを参照ください。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceId | string | | ✓ | | ~ 1024文字 | ネームスペースGRN |
settings | string | | ✓ | | ~ 5242880文字 | マスターデータ |
Config
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
key | string | | ✓ | | ~ 64文字 | 名前 |
value | string | | | | ~ 51200文字 | 値 |
ConsumeAction
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
action | enum [] | | ✓ | | ~ 128文字 | スタンプタスクで実行するアクションの種類 |
request | string | | ✓ | | ~ 1048576文字 | 入手リクエストのJSON |
AcquireAction
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
action | enum [] | | ✓ | | ~ 128文字 | スタンプシートを使用して実行するアクションの種類 |
request | string | | ✓ | | ~ 1048576文字 | リクエストのJSON |
GitHubCheckoutSetting
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
apiKeyId | string | | ✓ | | ~ 1024文字 | GitHub のAPIキーGRN |
repositoryName | string | | ✓ | | ~ 1024文字 | リポジトリ名 |
sourcePath | string | | ✓ | | ~ 1024文字 | ソースコードのファイルパス |
referenceType | enum [‘commit_hash’, ‘branch’, ’tag’] | | ✓ | | ~ 128文字 | コードの取得元 |
commitHash | string | {referenceType} == “commit_hash” | ✓ | | ~ 1024文字 | コミットハッシュ |
branchName | string | {referenceType} == “branch” | ✓ | | ~ 1024文字 | ブランチ名 |
tagName | string | {referenceType} == “tag” | ✓ | | ~ 1024文字 | タグ名 |
ScriptSetting
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
triggerScriptId | string | | | | ~ 1024文字 | スクリプトGRN |
doneTriggerTargetType | enum [’none’, ‘gs2_script’, ‘aws’] | | ✓ | “none” | ~ 128文字 | 完了通知の通知先 |
doneTriggerScriptId | string | {doneTriggerTargetType} == “gs2_script” | | | ~ 1024文字 | スクリプトGRN |
doneTriggerQueueNamespaceId | string | {doneTriggerTargetType} == “gs2_script” | | | ~ 1024文字 | ネームスペースGRN |
TransactionSetting
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
enableAutoRun | bool | | ✓ | false | | 発行したスタンプシートをサーバーサイドで自動的に実行するか |
distributorNamespaceId | string | {enableAutoRun} | ✓ | | ~ 1024文字 | スタンプシートの実行に使用する GS2-Distributor ネームスペース |
keyId | string | !{enableAutoRun} | ✓ | | ~ 1024文字 | スタンプシートの署名に使用する GS2-Key の暗号鍵 |
queueNamespaceId | string | | | | ~ 1024文字 | スタンプシートの実行に使用する GS2-JobQueue のネームスペース |
LogSetting
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
loggingNamespaceId | string | | ✓ | | ~ 1024文字 | ネームスペースGRN |
メソッド
describeNamespaces
ネームスペースの一覧を取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
pageToken | string | | | | ~ 1024文字 | データの取得を開始する位置を指定するトークン |
limit | int | | ✓ | 30 | 1 ~ 1000 | データの取得件数 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/skill_tree"
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 := skill_tree.Gs2SkillTreeRestClient{
Session: &session,
}
result, err := client.DescribeNamespaces(
&skill_tree.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\SkillTree\Gs2SkillTreeRestClient;
use Gs2\SkillTree\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.skillTree.rest.Gs2SkillTreeRestClient;
import io.gs2.skillTree.request.DescribeNamespacesRequest;
import io.gs2.skillTree.result.DescribeNamespacesResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2SkillTreeRestClient client = new Gs2SkillTreeRestClient(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.Gs2SkillTree.Gs2SkillTreeRestClient;
using Gs2.Gs2SkillTree.Request.DescribeNamespacesRequest;
using Gs2.Gs2SkillTree.Result.DescribeNamespacesResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2SkillTreeRestClient(session);
AsyncResult<Gs2.Gs2SkillTree.Result.DescribeNamespacesResult> asyncResult = null;
yield return client.DescribeNamespaces(
new Gs2.Gs2SkillTree.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 Gs2SkillTree from '@/gs2/skillTree';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2SkillTree.Gs2SkillTreeRestClient(session);
try {
const result = await client.describeNamespaces(
new Gs2SkillTree.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 skill_tree
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = skill_tree.Gs2SkillTreeRestClient(session)
try:
result = client.describe_namespaces(
skill_tree.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('skillTree')
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
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/skill_tree"
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 := skill_tree.Gs2SkillTreeRestClient{
Session: &session,
}
result, err := client.CreateNamespace(
&skill_tree.CreateNamespaceRequest {
Name: pointy.String("namespace1"),
Description: nil,
TransactionSetting: &skillTree.TransactionSetting{
EnableAutoRun: pointy.Bool(false),
QueueNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001"),
KeyId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001"),
},
ReleaseScript: nil,
RestrainScript: nil,
LogSetting: &skillTree.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\SkillTree\Gs2SkillTreeRestClient;
use Gs2\SkillTree\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((new \Gs2\SkillTree\Model\TransactionSetting())
->withEnableAutoRun(False)
->withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001")
->withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:\namespace1:key:key-0001"))
->withReleaseScript(null)
->withRestrainScript(null)
->withLogSetting((new \Gs2\SkillTree\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.skillTree.rest.Gs2SkillTreeRestClient;
import io.gs2.skillTree.request.CreateNamespaceRequest;
import io.gs2.skillTree.result.CreateNamespaceResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2SkillTreeRestClient client = new Gs2SkillTreeRestClient(session);
try {
CreateNamespaceResult result = client.createNamespace(
new CreateNamespaceRequest()
.withName("namespace1")
.withDescription(null)
.withTransactionSetting(new io.gs2.skillTree.model.TransactionSetting()
.withEnableAutoRun(false)
.withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001")
.withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001"))
.withReleaseScript(null)
.withRestrainScript(null)
.withLogSetting(new io.gs2.skillTree.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.Gs2SkillTree.Gs2SkillTreeRestClient;
using Gs2.Gs2SkillTree.Request.CreateNamespaceRequest;
using Gs2.Gs2SkillTree.Result.CreateNamespaceResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2SkillTreeRestClient(session);
AsyncResult<Gs2.Gs2SkillTree.Result.CreateNamespaceResult> asyncResult = null;
yield return client.CreateNamespace(
new Gs2.Gs2SkillTree.Request.CreateNamespaceRequest()
.WithName("namespace1")
.WithDescription(null)
.WithTransactionSetting(new Gs2.Gs2SkillTree.Model.TransactionSetting()
.WithEnableAutoRun(false)
.WithQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001")
.WithKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001"))
.WithReleaseScript(null)
.WithRestrainScript(null)
.WithLogSetting(new Gs2.Gs2SkillTree.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 Gs2SkillTree from '@/gs2/skillTree';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2SkillTree.Gs2SkillTreeRestClient(session);
try {
const result = await client.createNamespace(
new Gs2SkillTree.CreateNamespaceRequest()
.withName("namespace1")
.withDescription(null)
.withTransactionSetting(new Gs2SkillTree.model.TransactionSetting()
.withEnableAutoRun(false)
.withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001")
.withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001"))
.withReleaseScript(null)
.withRestrainScript(null)
.withLogSetting(new Gs2SkillTree.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 skill_tree
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = skill_tree.Gs2SkillTreeRestClient(session)
try:
result = client.create_namespace(
skill_tree.CreateNamespaceRequest()
.with_name(self.hash1)
.with_description(None)
.with_transaction_setting(
skill_tree.TransactionSetting()
.with_enable_auto_run(False)
.with_queue_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001')
.with_key_id('grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001'))
.with_release_script(None)
.with_restrain_script(None)
.with_log_setting(
skill_tree.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('skillTree')
api_result = client.create_namespace({
name='namespace1',
description=nil,
transactionSetting={
enableAutoRun=false,
queueNamespaceId='grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001',
keyId='grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001',
},
releaseScript=nil,
restrainScript=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
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/skill_tree"
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 := skill_tree.Gs2SkillTreeRestClient{
Session: &session,
}
result, err := client.GetNamespaceStatus(
&skill_tree.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\SkillTree\Gs2SkillTreeRestClient;
use Gs2\SkillTree\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.skillTree.rest.Gs2SkillTreeRestClient;
import io.gs2.skillTree.request.GetNamespaceStatusRequest;
import io.gs2.skillTree.result.GetNamespaceStatusResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2SkillTreeRestClient client = new Gs2SkillTreeRestClient(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.Gs2SkillTree.Gs2SkillTreeRestClient;
using Gs2.Gs2SkillTree.Request.GetNamespaceStatusRequest;
using Gs2.Gs2SkillTree.Result.GetNamespaceStatusResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2SkillTreeRestClient(session);
AsyncResult<Gs2.Gs2SkillTree.Result.GetNamespaceStatusResult> asyncResult = null;
yield return client.GetNamespaceStatus(
new Gs2.Gs2SkillTree.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 Gs2SkillTree from '@/gs2/skillTree';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2SkillTree.Gs2SkillTreeRestClient(session);
try {
const result = await client.getNamespaceStatus(
new Gs2SkillTree.GetNamespaceStatusRequest()
.withNamespaceName("namespace1")
);
const status = result.getStatus();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import skill_tree
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = skill_tree.Gs2SkillTreeRestClient(session)
try:
result = client.get_namespace_status(
skill_tree.GetNamespaceStatusRequest()
.with_namespace_name(self.hash1)
)
status = result.status
except core.Gs2Exception as e:
exit(1)
client = gs2('skillTree')
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
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/skill_tree"
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 := skill_tree.Gs2SkillTreeRestClient{
Session: &session,
}
result, err := client.GetNamespace(
&skill_tree.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\SkillTree\Gs2SkillTreeRestClient;
use Gs2\SkillTree\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.skillTree.rest.Gs2SkillTreeRestClient;
import io.gs2.skillTree.request.GetNamespaceRequest;
import io.gs2.skillTree.result.GetNamespaceResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2SkillTreeRestClient client = new Gs2SkillTreeRestClient(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.Gs2SkillTree.Gs2SkillTreeRestClient;
using Gs2.Gs2SkillTree.Request.GetNamespaceRequest;
using Gs2.Gs2SkillTree.Result.GetNamespaceResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2SkillTreeRestClient(session);
AsyncResult<Gs2.Gs2SkillTree.Result.GetNamespaceResult> asyncResult = null;
yield return client.GetNamespace(
new Gs2.Gs2SkillTree.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 Gs2SkillTree from '@/gs2/skillTree';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2SkillTree.Gs2SkillTreeRestClient(session);
try {
const result = await client.getNamespace(
new Gs2SkillTree.GetNamespaceRequest()
.withNamespaceName("namespace1")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import skill_tree
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = skill_tree.Gs2SkillTreeRestClient(session)
try:
result = client.get_namespace(
skill_tree.GetNamespaceRequest()
.with_namespace_name(self.hash1)
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('skillTree')
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
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/skill_tree"
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 := skill_tree.Gs2SkillTreeRestClient{
Session: &session,
}
result, err := client.UpdateNamespace(
&skill_tree.UpdateNamespaceRequest {
NamespaceName: pointy.String("namespace1"),
Description: pointy.String("description1"),
TransactionSetting: &skillTree.TransactionSetting{
EnableAutoRun: pointy.Bool(false),
QueueNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001"),
KeyId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001"),
},
ReleaseScript: nil,
RestrainScript: nil,
LogSetting: &skillTree.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\SkillTree\Gs2SkillTreeRestClient;
use Gs2\SkillTree\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((new \Gs2\SkillTree\Model\TransactionSetting())
->withEnableAutoRun(False)
->withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001")
->withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:\namespace1:key:key-0001"))
->withReleaseScript(null)
->withRestrainScript(null)
->withLogSetting((new \Gs2\SkillTree\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.skillTree.rest.Gs2SkillTreeRestClient;
import io.gs2.skillTree.request.UpdateNamespaceRequest;
import io.gs2.skillTree.result.UpdateNamespaceResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2SkillTreeRestClient client = new Gs2SkillTreeRestClient(session);
try {
UpdateNamespaceResult result = client.updateNamespace(
new UpdateNamespaceRequest()
.withNamespaceName("namespace1")
.withDescription("description1")
.withTransactionSetting(new io.gs2.skillTree.model.TransactionSetting()
.withEnableAutoRun(false)
.withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001")
.withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001"))
.withReleaseScript(null)
.withRestrainScript(null)
.withLogSetting(new io.gs2.skillTree.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.Gs2SkillTree.Gs2SkillTreeRestClient;
using Gs2.Gs2SkillTree.Request.UpdateNamespaceRequest;
using Gs2.Gs2SkillTree.Result.UpdateNamespaceResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2SkillTreeRestClient(session);
AsyncResult<Gs2.Gs2SkillTree.Result.UpdateNamespaceResult> asyncResult = null;
yield return client.UpdateNamespace(
new Gs2.Gs2SkillTree.Request.UpdateNamespaceRequest()
.WithNamespaceName("namespace1")
.WithDescription("description1")
.WithTransactionSetting(new Gs2.Gs2SkillTree.Model.TransactionSetting()
.WithEnableAutoRun(false)
.WithQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001")
.WithKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001"))
.WithReleaseScript(null)
.WithRestrainScript(null)
.WithLogSetting(new Gs2.Gs2SkillTree.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 Gs2SkillTree from '@/gs2/skillTree';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2SkillTree.Gs2SkillTreeRestClient(session);
try {
const result = await client.updateNamespace(
new Gs2SkillTree.UpdateNamespaceRequest()
.withNamespaceName("namespace1")
.withDescription("description1")
.withTransactionSetting(new Gs2SkillTree.model.TransactionSetting()
.withEnableAutoRun(false)
.withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001")
.withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001"))
.withReleaseScript(null)
.withRestrainScript(null)
.withLogSetting(new Gs2SkillTree.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 skill_tree
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = skill_tree.Gs2SkillTreeRestClient(session)
try:
result = client.update_namespace(
skill_tree.UpdateNamespaceRequest()
.with_namespace_name(self.hash1)
.with_description('description1')
.with_transaction_setting(
skill_tree.TransactionSetting()
.with_enable_auto_run(False)
.with_queue_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001')
.with_key_id('grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001'))
.with_release_script(None)
.with_restrain_script(None)
.with_log_setting(
skill_tree.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('skillTree')
api_result = client.update_namespace({
namespaceName='namespace1',
description='description1',
transactionSetting={
enableAutoRun=false,
queueNamespaceId='grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001',
keyId='grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001',
},
releaseScript=nil,
restrainScript=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;
deleteNamespace
ネームスペースを削除
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/skill_tree"
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 := skill_tree.Gs2SkillTreeRestClient{
Session: &session,
}
result, err := client.DeleteNamespace(
&skill_tree.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\SkillTree\Gs2SkillTreeRestClient;
use Gs2\SkillTree\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.skillTree.rest.Gs2SkillTreeRestClient;
import io.gs2.skillTree.request.DeleteNamespaceRequest;
import io.gs2.skillTree.result.DeleteNamespaceResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2SkillTreeRestClient client = new Gs2SkillTreeRestClient(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.Gs2SkillTree.Gs2SkillTreeRestClient;
using Gs2.Gs2SkillTree.Request.DeleteNamespaceRequest;
using Gs2.Gs2SkillTree.Result.DeleteNamespaceResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2SkillTreeRestClient(session);
AsyncResult<Gs2.Gs2SkillTree.Result.DeleteNamespaceResult> asyncResult = null;
yield return client.DeleteNamespace(
new Gs2.Gs2SkillTree.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 Gs2SkillTree from '@/gs2/skillTree';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2SkillTree.Gs2SkillTreeRestClient(session);
try {
const result = await client.deleteNamespace(
new Gs2SkillTree.DeleteNamespaceRequest()
.withNamespaceName("namespace1")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import skill_tree
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = skill_tree.Gs2SkillTreeRestClient(session)
try:
result = client.delete_namespace(
skill_tree.DeleteNamespaceRequest()
.with_namespace_name(self.hash1)
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('skillTree')
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;
describeNodeModels
ノードモデルの一覧を取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/skill_tree"
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 := skill_tree.Gs2SkillTreeRestClient{
Session: &session,
}
result, err := client.DescribeNodeModels(
&skill_tree.DescribeNodeModelsRequest {
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\SkillTree\Gs2SkillTreeRestClient;
use Gs2\SkillTree\Request\DescribeNodeModelsRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->describeNodeModels(
(new DescribeNodeModelsRequest())
->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.skillTree.rest.Gs2SkillTreeRestClient;
import io.gs2.skillTree.request.DescribeNodeModelsRequest;
import io.gs2.skillTree.result.DescribeNodeModelsResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2SkillTreeRestClient client = new Gs2SkillTreeRestClient(session);
try {
DescribeNodeModelsResult result = client.describeNodeModels(
new DescribeNodeModelsRequest()
.withNamespaceName("namespace2")
);
List<NodeModel> 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.Gs2SkillTree.Gs2SkillTreeRestClient;
using Gs2.Gs2SkillTree.Request.DescribeNodeModelsRequest;
using Gs2.Gs2SkillTree.Result.DescribeNodeModelsResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2SkillTreeRestClient(session);
AsyncResult<Gs2.Gs2SkillTree.Result.DescribeNodeModelsResult> asyncResult = null;
yield return client.DescribeNodeModels(
new Gs2.Gs2SkillTree.Request.DescribeNodeModelsRequest()
.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 Gs2SkillTree from '@/gs2/skillTree';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2SkillTree.Gs2SkillTreeRestClient(session);
try {
const result = await client.describeNodeModels(
new Gs2SkillTree.DescribeNodeModelsRequest()
.withNamespaceName("namespace2")
);
const items = result.getItems();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import skill_tree
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = skill_tree.Gs2SkillTreeRestClient(session)
try:
result = client.describe_node_models(
skill_tree.DescribeNodeModelsRequest()
.with_namespace_name(self.hash2)
)
items = result.items
except core.Gs2Exception as e:
exit(1)
client = gs2('skillTree')
api_result = client.describe_node_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;
getNodeModel
ノードモデルを取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
nodeModelName | string | | ✓ | | ~ 128文字 | ノードモデル名 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/skill_tree"
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 := skill_tree.Gs2SkillTreeRestClient{
Session: &session,
}
result, err := client.GetNodeModel(
&skill_tree.GetNodeModelRequest {
NamespaceName: pointy.String("namespace2"),
NodeModelName: pointy.String("status-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\SkillTree\Gs2SkillTreeRestClient;
use Gs2\SkillTree\Request\GetNodeModelRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->getNodeModel(
(new GetNodeModelRequest())
->withNamespaceName(self::namespace2)
->withNodeModelName("status-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.skillTree.rest.Gs2SkillTreeRestClient;
import io.gs2.skillTree.request.GetNodeModelRequest;
import io.gs2.skillTree.result.GetNodeModelResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2SkillTreeRestClient client = new Gs2SkillTreeRestClient(session);
try {
GetNodeModelResult result = client.getNodeModel(
new GetNodeModelRequest()
.withNamespaceName("namespace2")
.withNodeModelName("status-0001")
);
NodeModel 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.Gs2SkillTree.Gs2SkillTreeRestClient;
using Gs2.Gs2SkillTree.Request.GetNodeModelRequest;
using Gs2.Gs2SkillTree.Result.GetNodeModelResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2SkillTreeRestClient(session);
AsyncResult<Gs2.Gs2SkillTree.Result.GetNodeModelResult> asyncResult = null;
yield return client.GetNodeModel(
new Gs2.Gs2SkillTree.Request.GetNodeModelRequest()
.WithNamespaceName("namespace2")
.WithNodeModelName("status-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 Gs2SkillTree from '@/gs2/skillTree';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2SkillTree.Gs2SkillTreeRestClient(session);
try {
const result = await client.getNodeModel(
new Gs2SkillTree.GetNodeModelRequest()
.withNamespaceName("namespace2")
.withNodeModelName("status-0001")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import skill_tree
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = skill_tree.Gs2SkillTreeRestClient(session)
try:
result = client.get_node_model(
skill_tree.GetNodeModelRequest()
.with_namespace_name(self.hash2)
.with_node_model_name('status-0001')
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('skillTree')
api_result = client.get_node_model({
namespaceName='namespace2',
nodeModelName='status-0001',
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
describeNodeModelMasters
ノードモデルマスターの一覧を取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
pageToken | string | | | | ~ 1024文字 | データの取得を開始する位置を指定するトークン |
limit | int | | ✓ | 30 | 1 ~ 1000 | データの取得件数 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/skill_tree"
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 := skill_tree.Gs2SkillTreeRestClient{
Session: &session,
}
result, err := client.DescribeNodeModelMasters(
&skill_tree.DescribeNodeModelMastersRequest {
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\SkillTree\Gs2SkillTreeRestClient;
use Gs2\SkillTree\Request\DescribeNodeModelMastersRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->describeNodeModelMasters(
(new DescribeNodeModelMastersRequest())
->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.skillTree.rest.Gs2SkillTreeRestClient;
import io.gs2.skillTree.request.DescribeNodeModelMastersRequest;
import io.gs2.skillTree.result.DescribeNodeModelMastersResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2SkillTreeRestClient client = new Gs2SkillTreeRestClient(session);
try {
DescribeNodeModelMastersResult result = client.describeNodeModelMasters(
new DescribeNodeModelMastersRequest()
.withNamespaceName("namespace1")
.withPageToken(null)
.withLimit(null)
);
List<NodeModelMaster> 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.Gs2SkillTree.Gs2SkillTreeRestClient;
using Gs2.Gs2SkillTree.Request.DescribeNodeModelMastersRequest;
using Gs2.Gs2SkillTree.Result.DescribeNodeModelMastersResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2SkillTreeRestClient(session);
AsyncResult<Gs2.Gs2SkillTree.Result.DescribeNodeModelMastersResult> asyncResult = null;
yield return client.DescribeNodeModelMasters(
new Gs2.Gs2SkillTree.Request.DescribeNodeModelMastersRequest()
.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 Gs2SkillTree from '@/gs2/skillTree';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2SkillTree.Gs2SkillTreeRestClient(session);
try {
const result = await client.describeNodeModelMasters(
new Gs2SkillTree.DescribeNodeModelMastersRequest()
.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 skill_tree
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = skill_tree.Gs2SkillTreeRestClient(session)
try:
result = client.describe_node_model_masters(
skill_tree.DescribeNodeModelMastersRequest()
.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('skillTree')
api_result = client.describe_node_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;
createNodeModelMaster
ノードモデルマスターを新規作成
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
name | string | | ✓ | | ~ 128文字 | ノードモデル名 |
description | string | | | | ~ 1024文字 | 説明文 |
metadata | string | | | | ~ 2048文字 | メタデータ |
releaseConsumeActions | List<ConsumeAction> | | ✓ | [] | | 解放に必要な消費アクションリスト |
restrainReturnRate | float | | ✓ | 1.0 | ~ 1.0 | 返却率 |
premiseNodeNames | List<string> | | | | | 解放の前提とするノードモデル名リスト |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/skill_tree"
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 := skill_tree.Gs2SkillTreeRestClient{
Session: &session,
}
result, err := client.CreateNodeModelMaster(
&skill_tree.CreateNodeModelMasterRequest {
NamespaceName: pointy.String("namespace1"),
Name: pointy.String("node-0001"),
Description: nil,
Metadata: pointy.String("NODE-0001"),
ReleaseConsumeActions: []skillTree.ConsumeAction{
skillTree.ConsumeAction{
Action: pointy.String("Gs2Inventory:ConsumeItemSetByUserId"),
Request: pointy.String("{\"namespaceName\": \"namespace1\", \"inventoryName\": \"item\", \"itemName\": \"potion\", \"userId\": \"#{userId}\", \"consumeCount\": 10}"),
},
},
RestrainReturnRate: pointy.Float32(1.0),
PremiseNodeNames: []*string{},
}
)
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\SkillTree\Gs2SkillTreeRestClient;
use Gs2\SkillTree\Request\CreateNodeModelMasterRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->createNodeModelMaster(
(new CreateNodeModelMasterRequest())
->withNamespaceName(self::namespace1)
->withName("node-0001")
->withDescription(null)
->withMetadata("NODE-0001")
->withReleaseConsumeActions([ (new \Gs2\SkillTree\Model\ConsumeAction())
->withAction("Gs2Inventory:ConsumeItemSetByUserId")
->withRequest("{\"namespaceName\": \"\namespace1\", \"inventoryName\": \"item\", \"itemName\": \"potion\", \"userId\": \"#{userId}\", \"consumeCount\": 10}"),
])
->withRestrainReturnRate(1.0)
->withPremiseNodeNames([])
);
$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.skillTree.rest.Gs2SkillTreeRestClient;
import io.gs2.skillTree.request.CreateNodeModelMasterRequest;
import io.gs2.skillTree.result.CreateNodeModelMasterResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2SkillTreeRestClient client = new Gs2SkillTreeRestClient(session);
try {
CreateNodeModelMasterResult result = client.createNodeModelMaster(
new CreateNodeModelMasterRequest()
.withNamespaceName("namespace1")
.withName("node-0001")
.withDescription(null)
.withMetadata("NODE-0001")
.withReleaseConsumeActions(Arrays.asList(
new io.gs2.skillTree.model.ConsumeAction()
.withAction("Gs2Inventory:ConsumeItemSetByUserId")
.withRequest("{\"namespaceName\": \"namespace1\", \"inventoryName\": \"item\", \"itemName\": \"potion\", \"userId\": \"#{userId}\", \"consumeCount\": 10}")
))
.withRestrainReturnRate(1.0f)
.withPremiseNodeNames(new ArrayList<String>())
);
NodeModelMaster 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.Gs2SkillTree.Gs2SkillTreeRestClient;
using Gs2.Gs2SkillTree.Request.CreateNodeModelMasterRequest;
using Gs2.Gs2SkillTree.Result.CreateNodeModelMasterResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2SkillTreeRestClient(session);
AsyncResult<Gs2.Gs2SkillTree.Result.CreateNodeModelMasterResult> asyncResult = null;
yield return client.CreateNodeModelMaster(
new Gs2.Gs2SkillTree.Request.CreateNodeModelMasterRequest()
.WithNamespaceName("namespace1")
.WithName("node-0001")
.WithDescription(null)
.WithMetadata("NODE-0001")
.WithReleaseConsumeActions(new Gs2.Core.Model.ConsumeAction[] {
new Gs2.Core.Model.ConsumeAction()
.WithAction("Gs2Inventory:ConsumeItemSetByUserId")
.WithRequest("{\"namespaceName\": \"namespace1\", \"inventoryName\": \"item\", \"itemName\": \"potion\", \"userId\": \"#{userId}\", \"consumeCount\": 10}")
})
.WithRestrainReturnRate(1.0f)
.WithPremiseNodeNames(new string[] {}),
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 Gs2SkillTree from '@/gs2/skillTree';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2SkillTree.Gs2SkillTreeRestClient(session);
try {
const result = await client.createNodeModelMaster(
new Gs2SkillTree.CreateNodeModelMasterRequest()
.withNamespaceName("namespace1")
.withName("node-0001")
.withDescription(null)
.withMetadata("NODE-0001")
.withReleaseConsumeActions([
new Gs2SkillTree.model.ConsumeAction()
.withAction("Gs2Inventory:ConsumeItemSetByUserId")
.withRequest("{\"namespaceName\": \"namespace1\", \"inventoryName\": \"item\", \"itemName\": \"potion\", \"userId\": \"#{userId}\", \"consumeCount\": 10}")
])
.withRestrainReturnRate(1.0)
.withPremiseNodeNames([])
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import skill_tree
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = skill_tree.Gs2SkillTreeRestClient(session)
try:
result = client.create_node_model_master(
skill_tree.CreateNodeModelMasterRequest()
.with_namespace_name(self.hash1)
.with_name('node-0001')
.with_description(None)
.with_metadata('NODE-0001')
.with_release_consume_actions([ skill_tree.ConsumeAction()
.with_action('Gs2Inventory:ConsumeItemSetByUserId')
.with_request('{"namespaceName": "namespace1", "inventoryName": "item", "itemName": "potion", "userId": "#{userId}", "consumeCount": 10}'),
])
.with_restrain_return_rate(1.0)
.with_premise_node_names([])
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('skillTree')
api_result = client.create_node_model_master({
namespaceName='namespace1',
name='node-0001',
description=nil,
metadata='NODE-0001',
releaseConsumeActions={
{
action='Gs2Inventory:ConsumeItemSetByUserId',
request='{"namespaceName": "namespace1", "inventoryName": "item", "itemName": "potion", "userId": "#{userId}", "consumeCount": 10}',
}
},
restrainReturnRate=1.0,
premiseNodeNames={},
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
getNodeModelMaster
ノードモデルマスターを取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
nodeModelName | string | | ✓ | | ~ 128文字 | ノードモデル名 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/skill_tree"
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 := skill_tree.Gs2SkillTreeRestClient{
Session: &session,
}
result, err := client.GetNodeModelMaster(
&skill_tree.GetNodeModelMasterRequest {
NamespaceName: pointy.String("namespace1"),
NodeModelName: pointy.String("node-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\SkillTree\Gs2SkillTreeRestClient;
use Gs2\SkillTree\Request\GetNodeModelMasterRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->getNodeModelMaster(
(new GetNodeModelMasterRequest())
->withNamespaceName(self::namespace1)
->withNodeModelName("node-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.skillTree.rest.Gs2SkillTreeRestClient;
import io.gs2.skillTree.request.GetNodeModelMasterRequest;
import io.gs2.skillTree.result.GetNodeModelMasterResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2SkillTreeRestClient client = new Gs2SkillTreeRestClient(session);
try {
GetNodeModelMasterResult result = client.getNodeModelMaster(
new GetNodeModelMasterRequest()
.withNamespaceName("namespace1")
.withNodeModelName("node-0001")
);
NodeModelMaster 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.Gs2SkillTree.Gs2SkillTreeRestClient;
using Gs2.Gs2SkillTree.Request.GetNodeModelMasterRequest;
using Gs2.Gs2SkillTree.Result.GetNodeModelMasterResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2SkillTreeRestClient(session);
AsyncResult<Gs2.Gs2SkillTree.Result.GetNodeModelMasterResult> asyncResult = null;
yield return client.GetNodeModelMaster(
new Gs2.Gs2SkillTree.Request.GetNodeModelMasterRequest()
.WithNamespaceName("namespace1")
.WithNodeModelName("node-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 Gs2SkillTree from '@/gs2/skillTree';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2SkillTree.Gs2SkillTreeRestClient(session);
try {
const result = await client.getNodeModelMaster(
new Gs2SkillTree.GetNodeModelMasterRequest()
.withNamespaceName("namespace1")
.withNodeModelName("node-0001")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import skill_tree
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = skill_tree.Gs2SkillTreeRestClient(session)
try:
result = client.get_node_model_master(
skill_tree.GetNodeModelMasterRequest()
.with_namespace_name(self.hash1)
.with_node_model_name('node-0001')
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('skillTree')
api_result = client.get_node_model_master({
namespaceName='namespace1',
nodeModelName='node-0001',
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
updateNodeModelMaster
ノードモデルマスターを更新
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
nodeModelName | string | | ✓ | | ~ 128文字 | ノードモデル名 |
description | string | | | | ~ 1024文字 | 説明文 |
metadata | string | | | | ~ 2048文字 | メタデータ |
releaseConsumeActions | List<ConsumeAction> | | ✓ | [] | | 解放に必要な消費アクションリスト |
restrainReturnRate | float | | ✓ | 1.0 | ~ 1.0 | 返却率 |
premiseNodeNames | List<string> | | | | | 解放の前提とするノードモデル名リスト |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/skill_tree"
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 := skill_tree.Gs2SkillTreeRestClient{
Session: &session,
}
result, err := client.UpdateNodeModelMaster(
&skill_tree.UpdateNodeModelMasterRequest {
NamespaceName: pointy.String("namespace1"),
NodeModelName: pointy.String("node-0001"),
Description: pointy.String("description1"),
Metadata: pointy.String("NODE-0001"),
ReleaseConsumeActions: []skillTree.ConsumeAction{
skillTree.ConsumeAction{
Action: pointy.String("Gs2Inventory:ConsumeItemSetByUserId"),
Request: pointy.String("{\"namespaceName\": \"namespace1\", \"inventoryName\": \"item\", \"itemName\": \"potion\", \"userId\": \"#{userId}\", \"consumeCount\": 20}"),
},
},
RestrainReturnRate: pointy.Float32(0.9),
PremiseNodeNames: 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\SkillTree\Gs2SkillTreeRestClient;
use Gs2\SkillTree\Request\UpdateNodeModelMasterRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->updateNodeModelMaster(
(new UpdateNodeModelMasterRequest())
->withNamespaceName(self::namespace1)
->withNodeModelName("node-0001")
->withDescription("description1")
->withMetadata("NODE-0001")
->withReleaseConsumeActions([ (new \Gs2\SkillTree\Model\ConsumeAction())
->withAction("Gs2Inventory:ConsumeItemSetByUserId")
->withRequest("{\"namespaceName\": \"\namespace1\", \"inventoryName\": \"item\", \"itemName\": \"potion\", \"userId\": \"#{userId}\", \"consumeCount\": 20}"),
])
->withRestrainReturnRate(0.9)
->withPremiseNodeNames(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.skillTree.rest.Gs2SkillTreeRestClient;
import io.gs2.skillTree.request.UpdateNodeModelMasterRequest;
import io.gs2.skillTree.result.UpdateNodeModelMasterResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2SkillTreeRestClient client = new Gs2SkillTreeRestClient(session);
try {
UpdateNodeModelMasterResult result = client.updateNodeModelMaster(
new UpdateNodeModelMasterRequest()
.withNamespaceName("namespace1")
.withNodeModelName("node-0001")
.withDescription("description1")
.withMetadata("NODE-0001")
.withReleaseConsumeActions(Arrays.asList(
new io.gs2.skillTree.model.ConsumeAction()
.withAction("Gs2Inventory:ConsumeItemSetByUserId")
.withRequest("{\"namespaceName\": \"namespace1\", \"inventoryName\": \"item\", \"itemName\": \"potion\", \"userId\": \"#{userId}\", \"consumeCount\": 20}")
))
.withRestrainReturnRate(0.9f)
.withPremiseNodeNames(null)
);
NodeModelMaster 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.Gs2SkillTree.Gs2SkillTreeRestClient;
using Gs2.Gs2SkillTree.Request.UpdateNodeModelMasterRequest;
using Gs2.Gs2SkillTree.Result.UpdateNodeModelMasterResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2SkillTreeRestClient(session);
AsyncResult<Gs2.Gs2SkillTree.Result.UpdateNodeModelMasterResult> asyncResult = null;
yield return client.UpdateNodeModelMaster(
new Gs2.Gs2SkillTree.Request.UpdateNodeModelMasterRequest()
.WithNamespaceName("namespace1")
.WithNodeModelName("node-0001")
.WithDescription("description1")
.WithMetadata("NODE-0001")
.WithReleaseConsumeActions(new Gs2.Core.Model.ConsumeAction[] {
new Gs2.Core.Model.ConsumeAction()
.WithAction("Gs2Inventory:ConsumeItemSetByUserId")
.WithRequest("{\"namespaceName\": \"namespace1\", \"inventoryName\": \"item\", \"itemName\": \"potion\", \"userId\": \"#{userId}\", \"consumeCount\": 20}")
})
.WithRestrainReturnRate(0.9f)
.WithPremiseNodeNames(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 Gs2SkillTree from '@/gs2/skillTree';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2SkillTree.Gs2SkillTreeRestClient(session);
try {
const result = await client.updateNodeModelMaster(
new Gs2SkillTree.UpdateNodeModelMasterRequest()
.withNamespaceName("namespace1")
.withNodeModelName("node-0001")
.withDescription("description1")
.withMetadata("NODE-0001")
.withReleaseConsumeActions([
new Gs2SkillTree.model.ConsumeAction()
.withAction("Gs2Inventory:ConsumeItemSetByUserId")
.withRequest("{\"namespaceName\": \"namespace1\", \"inventoryName\": \"item\", \"itemName\": \"potion\", \"userId\": \"#{userId}\", \"consumeCount\": 20}")
])
.withRestrainReturnRate(0.9)
.withPremiseNodeNames(null)
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import skill_tree
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = skill_tree.Gs2SkillTreeRestClient(session)
try:
result = client.update_node_model_master(
skill_tree.UpdateNodeModelMasterRequest()
.with_namespace_name(self.hash1)
.with_node_model_name('node-0001')
.with_description('description1')
.with_metadata('NODE-0001')
.with_release_consume_actions([ skill_tree.ConsumeAction()
.with_action('Gs2Inventory:ConsumeItemSetByUserId')
.with_request('{"namespaceName": "namespace1", "inventoryName": "item", "itemName": "potion", "userId": "#{userId}", "consumeCount": 20}'),
])
.with_restrain_return_rate(0.9)
.with_premise_node_names(None)
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('skillTree')
api_result = client.update_node_model_master({
namespaceName='namespace1',
nodeModelName='node-0001',
description='description1',
metadata='NODE-0001',
releaseConsumeActions={
{
action='Gs2Inventory:ConsumeItemSetByUserId',
request='{"namespaceName": "namespace1", "inventoryName": "item", "itemName": "potion", "userId": "#{userId}", "consumeCount": 20}',
}
},
restrainReturnRate=0.9,
premiseNodeNames=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
deleteNodeModelMaster
ノードモデルマスターを削除
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
nodeModelName | string | | ✓ | | ~ 128文字 | ノードモデル名 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/skill_tree"
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 := skill_tree.Gs2SkillTreeRestClient{
Session: &session,
}
result, err := client.DeleteNodeModelMaster(
&skill_tree.DeleteNodeModelMasterRequest {
NamespaceName: pointy.String("namespace1"),
NodeModelName: pointy.String("node-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\SkillTree\Gs2SkillTreeRestClient;
use Gs2\SkillTree\Request\DeleteNodeModelMasterRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->deleteNodeModelMaster(
(new DeleteNodeModelMasterRequest())
->withNamespaceName(self::namespace1)
->withNodeModelName("node-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.skillTree.rest.Gs2SkillTreeRestClient;
import io.gs2.skillTree.request.DeleteNodeModelMasterRequest;
import io.gs2.skillTree.result.DeleteNodeModelMasterResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2SkillTreeRestClient client = new Gs2SkillTreeRestClient(session);
try {
DeleteNodeModelMasterResult result = client.deleteNodeModelMaster(
new DeleteNodeModelMasterRequest()
.withNamespaceName("namespace1")
.withNodeModelName("node-0001")
);
NodeModelMaster 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.Gs2SkillTree.Gs2SkillTreeRestClient;
using Gs2.Gs2SkillTree.Request.DeleteNodeModelMasterRequest;
using Gs2.Gs2SkillTree.Result.DeleteNodeModelMasterResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2SkillTreeRestClient(session);
AsyncResult<Gs2.Gs2SkillTree.Result.DeleteNodeModelMasterResult> asyncResult = null;
yield return client.DeleteNodeModelMaster(
new Gs2.Gs2SkillTree.Request.DeleteNodeModelMasterRequest()
.WithNamespaceName("namespace1")
.WithNodeModelName("node-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 Gs2SkillTree from '@/gs2/skillTree';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2SkillTree.Gs2SkillTreeRestClient(session);
try {
const result = await client.deleteNodeModelMaster(
new Gs2SkillTree.DeleteNodeModelMasterRequest()
.withNamespaceName("namespace1")
.withNodeModelName("node-0001")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import skill_tree
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = skill_tree.Gs2SkillTreeRestClient(session)
try:
result = client.delete_node_model_master(
skill_tree.DeleteNodeModelMasterRequest()
.with_namespace_name(self.hash1)
.with_node_model_name('node-0001')
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('skillTree')
api_result = client.delete_node_model_master({
namespaceName='namespace1',
nodeModelName='node-0001',
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
markReleaseByUserId
ユーザIDを指定してノードを解放状態を記録
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
userId | string | | ✓ | | ~ 128文字 | ユーザーID |
nodeModelNames | List<string> | | ✓ | | | ノードモデル名のリスト |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/skill_tree"
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 := skill_tree.Gs2SkillTreeRestClient{
Session: &session,
}
result, err := client.MarkReleaseByUserId(
&skill_tree.MarkReleaseByUserIdRequest {
NamespaceName: pointy.String("namespace1"),
UserId: pointy.String("user-0001"),
NodeModelNames: []*string{
pointy.String("node-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\SkillTree\Gs2SkillTreeRestClient;
use Gs2\SkillTree\Request\MarkReleaseByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->markReleaseByUserId(
(new MarkReleaseByUserIdRequest())
->withNamespaceName(self::namespace1)
->withUserId("user-0001")
->withNodeModelNames([ "node-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.skillTree.rest.Gs2SkillTreeRestClient;
import io.gs2.skillTree.request.MarkReleaseByUserIdRequest;
import io.gs2.skillTree.result.MarkReleaseByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2SkillTreeRestClient client = new Gs2SkillTreeRestClient(session);
try {
MarkReleaseByUserIdResult result = client.markReleaseByUserId(
new MarkReleaseByUserIdRequest()
.withNamespaceName("namespace1")
.withUserId("user-0001")
.withNodeModelNames(Arrays.asList(
"node-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.Gs2SkillTree.Gs2SkillTreeRestClient;
using Gs2.Gs2SkillTree.Request.MarkReleaseByUserIdRequest;
using Gs2.Gs2SkillTree.Result.MarkReleaseByUserIdResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2SkillTreeRestClient(session);
AsyncResult<Gs2.Gs2SkillTree.Result.MarkReleaseByUserIdResult> asyncResult = null;
yield return client.MarkReleaseByUserId(
new Gs2.Gs2SkillTree.Request.MarkReleaseByUserIdRequest()
.WithNamespaceName("namespace1")
.WithUserId("user-0001")
.WithNodeModelNames(new string[] {
"node-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 Gs2SkillTree from '@/gs2/skillTree';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2SkillTree.Gs2SkillTreeRestClient(session);
try {
const result = await client.markReleaseByUserId(
new Gs2SkillTree.MarkReleaseByUserIdRequest()
.withNamespaceName("namespace1")
.withUserId("user-0001")
.withNodeModelNames([
"node-0001"
])
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import skill_tree
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = skill_tree.Gs2SkillTreeRestClient(session)
try:
result = client.mark_release_by_user_id(
skill_tree.MarkReleaseByUserIdRequest()
.with_namespace_name(self.hash1)
.with_user_id('user-0001')
.with_node_model_names([ 'node-0001',
])
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('skillTree')
api_result = client.mark_release_by_user_id({
namespaceName='namespace1',
userId='user-0001',
nodeModelNames={
'node-0001'
},
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
release
ユーザIDを指定してノードを解放
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
accessToken | string | | ✓ | | ~ 128文字 | ユーザーID |
nodeModelNames | List<string> | | ✓ | | | ノードモデル名のリスト |
config | List<Config> | | | [] | | スタンプシートの変数に適用する設定値 |
Result
| 型 | 説明 |
---|
item | Status | ステータス |
transactionId | string | 発行されたスタンプシートのトランザクションID |
stampSheet | string | 解放処理の実行に使用するスタンプシート |
stampSheetEncryptionKeyId | string | スタンプシートの署名計算に使用した暗号鍵GRN |
autoRunStampSheet | bool? | スタンプシートの自動実行が有効か |
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/skill_tree"
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 := skill_tree.Gs2SkillTreeRestClient{
Session: &session,
}
result, err := client.Release(
&skill_tree.ReleaseRequest {
NamespaceName: pointy.String("namespace1"),
AccessToken: pointy.String("$access_token_0001"),
NodeModelNames: []*string{
pointy.String("node-0001"),
},
Config: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Item
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\SkillTree\Gs2SkillTreeRestClient;
use Gs2\SkillTree\Request\ReleaseRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->release(
(new ReleaseRequest())
->withNamespaceName(self::namespace1)
->withAccessToken(self::$accessToken0001)
->withNodeModelNames([ "node-0001",
])
->withConfig(null)
);
$item = $result->getItem();
$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.skillTree.rest.Gs2SkillTreeRestClient;
import io.gs2.skillTree.request.ReleaseRequest;
import io.gs2.skillTree.result.ReleaseResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2SkillTreeRestClient client = new Gs2SkillTreeRestClient(session);
try {
ReleaseResult result = client.release(
new ReleaseRequest()
.withNamespaceName("namespace1")
.withAccessToken("$access_token_0001")
.withNodeModelNames(Arrays.asList(
"node-0001"
))
.withConfig(null)
);
Status item = result.getItem();
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.Gs2SkillTree.Gs2SkillTreeRestClient;
using Gs2.Gs2SkillTree.Request.ReleaseRequest;
using Gs2.Gs2SkillTree.Result.ReleaseResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2SkillTreeRestClient(session);
AsyncResult<Gs2.Gs2SkillTree.Result.ReleaseResult> asyncResult = null;
yield return client.Release(
new Gs2.Gs2SkillTree.Request.ReleaseRequest()
.WithNamespaceName("namespace1")
.WithAccessToken("$access_token_0001")
.WithNodeModelNames(new string[] {
"node-0001"
})
.WithConfig(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var transactionId = result.TransactionId;
var stampSheet = result.StampSheet;
var stampSheetEncryptionKeyId = result.StampSheetEncryptionKeyId;
var autoRunStampSheet = result.AutoRunStampSheet;
import Gs2Core from '@/gs2/core';
import * as Gs2SkillTree from '@/gs2/skillTree';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2SkillTree.Gs2SkillTreeRestClient(session);
try {
const result = await client.release(
new Gs2SkillTree.ReleaseRequest()
.withNamespaceName("namespace1")
.withAccessToken("$access_token_0001")
.withNodeModelNames([
"node-0001"
])
.withConfig(null)
);
const item = result.getItem();
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 skill_tree
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = skill_tree.Gs2SkillTreeRestClient(session)
try:
result = client.release(
skill_tree.ReleaseRequest()
.with_namespace_name(self.hash1)
.with_access_token(self.access_token_0001)
.with_node_model_names([ 'node-0001',
])
.with_config(None)
)
item = result.item
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('skillTree')
api_result = client.release({
namespaceName='namespace1',
accessToken='$access_token_0001',
nodeModelNames={
'node-0001'
},
config=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
transactionId = result.transactionId;
stampSheet = result.stampSheet;
stampSheetEncryptionKeyId = result.stampSheetEncryptionKeyId;
autoRunStampSheet = result.autoRunStampSheet;
releaseByUserId
ユーザIDを指定してノードを解放
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
userId | string | | ✓ | | ~ 128文字 | ユーザーID |
nodeModelNames | List<string> | | ✓ | | | ノードモデル名のリスト |
config | List<Config> | | | [] | | スタンプシートの変数に適用する設定値 |
Result
| 型 | 説明 |
---|
item | Status | ステータス |
transactionId | string | 発行されたスタンプシートのトランザクションID |
stampSheet | string | 解放処理の実行に使用するスタンプシート |
stampSheetEncryptionKeyId | string | スタンプシートの署名計算に使用した暗号鍵GRN |
autoRunStampSheet | bool? | スタンプシートの自動実行が有効か |
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/skill_tree"
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 := skill_tree.Gs2SkillTreeRestClient{
Session: &session,
}
result, err := client.ReleaseByUserId(
&skill_tree.ReleaseByUserIdRequest {
NamespaceName: pointy.String("namespace1"),
UserId: pointy.String("user-0001"),
NodeModelNames: []*string{
pointy.String("node-0001"),
},
Config: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Item
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\SkillTree\Gs2SkillTreeRestClient;
use Gs2\SkillTree\Request\ReleaseByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->releaseByUserId(
(new ReleaseByUserIdRequest())
->withNamespaceName(self::namespace1)
->withUserId("user-0001")
->withNodeModelNames([ "node-0001",
])
->withConfig(null)
);
$item = $result->getItem();
$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.skillTree.rest.Gs2SkillTreeRestClient;
import io.gs2.skillTree.request.ReleaseByUserIdRequest;
import io.gs2.skillTree.result.ReleaseByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2SkillTreeRestClient client = new Gs2SkillTreeRestClient(session);
try {
ReleaseByUserIdResult result = client.releaseByUserId(
new ReleaseByUserIdRequest()
.withNamespaceName("namespace1")
.withUserId("user-0001")
.withNodeModelNames(Arrays.asList(
"node-0001"
))
.withConfig(null)
);
Status item = result.getItem();
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.Gs2SkillTree.Gs2SkillTreeRestClient;
using Gs2.Gs2SkillTree.Request.ReleaseByUserIdRequest;
using Gs2.Gs2SkillTree.Result.ReleaseByUserIdResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2SkillTreeRestClient(session);
AsyncResult<Gs2.Gs2SkillTree.Result.ReleaseByUserIdResult> asyncResult = null;
yield return client.ReleaseByUserId(
new Gs2.Gs2SkillTree.Request.ReleaseByUserIdRequest()
.WithNamespaceName("namespace1")
.WithUserId("user-0001")
.WithNodeModelNames(new string[] {
"node-0001"
})
.WithConfig(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var transactionId = result.TransactionId;
var stampSheet = result.StampSheet;
var stampSheetEncryptionKeyId = result.StampSheetEncryptionKeyId;
var autoRunStampSheet = result.AutoRunStampSheet;
import Gs2Core from '@/gs2/core';
import * as Gs2SkillTree from '@/gs2/skillTree';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2SkillTree.Gs2SkillTreeRestClient(session);
try {
const result = await client.releaseByUserId(
new Gs2SkillTree.ReleaseByUserIdRequest()
.withNamespaceName("namespace1")
.withUserId("user-0001")
.withNodeModelNames([
"node-0001"
])
.withConfig(null)
);
const item = result.getItem();
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 skill_tree
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = skill_tree.Gs2SkillTreeRestClient(session)
try:
result = client.release_by_user_id(
skill_tree.ReleaseByUserIdRequest()
.with_namespace_name(self.hash1)
.with_user_id('user-0001')
.with_node_model_names([ 'node-0001',
])
.with_config(None)
)
item = result.item
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('skillTree')
api_result = client.release_by_user_id({
namespaceName='namespace1',
userId='user-0001',
nodeModelNames={
'node-0001'
},
config=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
transactionId = result.transactionId;
stampSheet = result.stampSheet;
stampSheetEncryptionKeyId = result.stampSheetEncryptionKeyId;
autoRunStampSheet = result.autoRunStampSheet;
markRestrainByUserId
ユーザIDを指定してノードの解放状態を未解放状態に戻す
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
userId | string | | ✓ | | ~ 128文字 | ユーザーID |
nodeModelNames | List<string> | | ✓ | | | ノードモデル名のリスト |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/skill_tree"
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 := skill_tree.Gs2SkillTreeRestClient{
Session: &session,
}
result, err := client.MarkRestrainByUserId(
&skill_tree.MarkRestrainByUserIdRequest {
NamespaceName: pointy.String("namespace1"),
UserId: pointy.String("user-0001"),
NodeModelNames: []*string{
pointy.String("node-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\SkillTree\Gs2SkillTreeRestClient;
use Gs2\SkillTree\Request\MarkRestrainByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->markRestrainByUserId(
(new MarkRestrainByUserIdRequest())
->withNamespaceName(self::namespace1)
->withUserId("user-0001")
->withNodeModelNames([ "node-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.skillTree.rest.Gs2SkillTreeRestClient;
import io.gs2.skillTree.request.MarkRestrainByUserIdRequest;
import io.gs2.skillTree.result.MarkRestrainByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2SkillTreeRestClient client = new Gs2SkillTreeRestClient(session);
try {
MarkRestrainByUserIdResult result = client.markRestrainByUserId(
new MarkRestrainByUserIdRequest()
.withNamespaceName("namespace1")
.withUserId("user-0001")
.withNodeModelNames(Arrays.asList(
"node-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.Gs2SkillTree.Gs2SkillTreeRestClient;
using Gs2.Gs2SkillTree.Request.MarkRestrainByUserIdRequest;
using Gs2.Gs2SkillTree.Result.MarkRestrainByUserIdResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client