GS2-Enhance SDK API リファレンス
モデル
Namespace
ネームスペース
ネームスペースは一つのプロジェクトで同じサービスを異なる用途で複数利用できるようにするための仕組みです。
GS2 のサービスは基本的にネームスペースというレイヤーがあり、ネームスペースが異なれば同じサービスでもまったく別のデータ空間として取り扱われます。
そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceId | string | ✓ | | ~ 1024文字 | ネームスペースGRN |
name | string | ✓ | | ~ 32文字 | ネームスペース名 |
description | string | | | ~ 1024文字 | 説明文 |
enableDirectEnhance | bool | ✓ | false | | DirectEnhance を利用できるようにするか |
transactionSetting | TransactionSetting | ✓ | | | トランザクション設定 |
enhanceScript | ScriptSetting | | | | 強化時に実行するスクリプト |
logSetting | LogSetting | | | | ログの出力設定 |
createdAt | long | ✓ | | | 作成日時 |
updatedAt | long | ✓ | | | 最終更新日時 |
queueNamespaceId | string | | | ~ 1024文字 | スタンプシートの実行に使用する GS2-JobQueue のネームスペース |
keyId | string | | | ~ 1024文字 | スタンプシートの発行に使用する GS2-Key のネームスペース |
RateModel
強化レート
強化レートは強化に使用する素材と強化対象を定義したデータです。
素材データ、強化対象データは共に GS2-Inventory で管理されている必要があります。
強化で得られる経験値は GS2-Inventory のメタデータにJSON形式で記録します。
ここではメタデータのどの階層に経験値の値が格納されているかを記載する必要があります。
強化時に一定の確率で 大成功
といった形で入手できる経験値量に補正値をかけることができます。
その抽選確率もこのエンティティで定義します。
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
rateModelId | string | ✓ | | ~ 1024文字 | 強化レートモデルGRN |
name | string | ✓ | | ~ 128文字 | 強化レート名 |
description | string | | | ~ 1024文字 | 説明文 |
metadata | string | | | ~ 2048文字 | メタデータ |
targetInventoryModelId | string | ✓ | | ~ 1024文字 | 強化対象に使用できるインベントリ |
acquireExperienceSuffix | string | ✓ | | ~ 1024文字 | GS2-Experience で入手した経験値を格納する プロパティID に付与するサフィックス |
materialInventoryModelId | string | ✓ | | ~ 1024文字 | インベントリモデルGRN |
acquireExperienceHierarchy | List<string> | | | | 入手経験値を格納しているメタデータのJSON階層 |
experienceModelId | string | ✓ | | ~ 1024文字 | 経験値モデルGRN |
bonusRates | List<BonusRate> | | | | 経験値獲得量ボーナス |
RateModelMaster
強化レートマスター
強化レートは強化に使用する素材と強化対象を定義したデータです。
素材データ、強化対象データは共に GS2-Inventory で管理されている必要があります。
強化で得られる経験値は GS2-Inventory のメタデータにJSON形式で記録します。
ここではメタデータのどの階層に経験値の値が格納されているかを記載する必要があります。
強化時に一定の確率で 大成功
といった形で入手できる経験値量に補正値をかけることができます。
その抽選確率もこのエンティティで定義します。
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
rateModelId | string | ✓ | | ~ 1024文字 | 強化レートマスターGRN |
name | string | ✓ | | ~ 128文字 | 強化レート名 |
description | string | | | ~ 1024文字 | 説明文 |
metadata | string | | | ~ 2048文字 | メタデータ |
targetInventoryModelId | string | ✓ | | ~ 1024文字 | 強化対象に使用できるインベントリ |
acquireExperienceSuffix | string | ✓ | | ~ 1024文字 | GS2-Experience で入手した経験値を格納する プロパティID に付与するサフィックス |
materialInventoryModelId | string | ✓ | | ~ 1024文字 | 素材に使用できるインベントリ |
acquireExperienceHierarchy | List<string> | | | | 入手経験値を格納しているメタデータのJSON階層 |
experienceModelId | string | ✓ | | ~ 1024文字 | 強化の結果を得られる経験値 |
bonusRates | List<BonusRate> | | | | 経験値獲得量ボーナス |
createdAt | long | ✓ | | | 作成日時 |
updatedAt | long | ✓ | | | 最終更新日時 |
Progress
強化進行状況
強化の開始時に作成され、終了時に削除されます。
強化の途中でアプリを終了した際にはこのデータが残った状態となり
エンティティが保持する進行中の強化情報からゲームをリジュームすることが可能です。
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
progressId | string | ✓ | | ~ 1024文字 | 実行GRN |
userId | string | ✓ | | ~ 128文字 | ユーザーID |
rateName | string | ✓ | | ~ 128文字 | レートモデル名 |
name | string | ✓ | UUID | ~ 36文字 | 進行ID |
propertyId | string | ✓ | | ~ 1024文字 | 強化対象のプロパティID |
experienceValue | long | ✓ | | ~ 9223372036854775805 | 入手できる経験値 |
rate | float | ✓ | | ~ 100.0 | 経験値倍率 |
createdAt | long | ✓ | | | 作成日時 |
updatedAt | long | ✓ | | | 最終更新日時 |
CurrentRateMaster
現在有効な強化レートマスター
GS2ではマスターデータの管理にJSON形式のファイルを使用します。
ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。
JSONファイルを作成する方法として、マネージメントコンソール上でのマスターデータエディタを提供していますが
よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。
JSONファイルの形式についてはドキュメントを参照ください。
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceId | string | ✓ | | ~ 1024文字 | 現在有効な強化レート設定GRN |
settings | string | ✓ | | ~ 5242880文字 | マスターデータ |
BonusRate
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
rate | float | ✓ | 1.0 | ~ 10000 | 経験値ボーナスの倍率(1.0=ボーナスなし) |
weight | int | ✓ | 1 | ~ 2147483645 | 抽選重み |
Material
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
materialItemSetId | string | ✓ | | ~ 1024文字 | 有効期限ごとのアイテム所持数量GRN |
count | int | ✓ | 1 | ~ 2147483645 | 消費数量 |
Config
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
key | string | ✓ | | ~ 64文字 | 名前 |
value | string | | | ~ 51200文字 | 値 |
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 |
LogSetting
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
loggingNamespaceId | string | ✓ | | ~ 1024文字 | ネームスペースGRN |
TransactionSetting
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
enableAutoRun | bool | ✓ | false | | 発行したスタンプシートをサーバーサイドで自動的に実行するか |
distributorNamespaceId | string | {enableAutoRun} | | ~ 1024文字 | スタンプシートの実行に使用する GS2-Distributor ネームスペース |
keyId | string | !{enableAutoRun} | | ~ 1024文字 | スタンプシートの署名に使用する GS2-Key の暗号鍵 |
queueNamespaceId | string | | | ~ 1024文字 | スタンプシートの実行に使用する GS2-JobQueue のネームスペース |
メソッド
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/enhance"
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 := enhance.Gs2EnhanceRestClient{
Session: &session,
}
result, err := client.DescribeNamespaces(
&enhance.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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.DescribeNamespacesRequest;
import io.gs2.enhance.result.DescribeNamespacesResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2EnhanceRestClient client = new Gs2EnhanceRestClient(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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.DescribeNamespacesRequest;
using Gs2.Gs2Enhance.Result.DescribeNamespacesResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2EnhanceRestClient(session);
AsyncResult<Gs2.Gs2Enhance.Result.DescribeNamespacesResult> asyncResult = null;
yield return client.DescribeNamespaces(
new Gs2.Gs2Enhance.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 Gs2Enhance from '@/gs2/enhance';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Enhance.Gs2EnhanceRestClient(session);
try {
const result = await client.describeNamespaces(
new Gs2Enhance.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 enhance
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = enhance.Gs2EnhanceRestClient(session)
try:
result = client.describe_namespaces(
enhance.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('enhance')
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
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
name | string | ✓ | | ~ 32文字 | ネームスペース名 |
description | string | | | ~ 1024文字 | 説明文 |
enableDirectEnhance | bool | ✓ | false | | DirectEnhance を利用できるようにするか |
transactionSetting | TransactionSetting | ✓ | | | トランザクション設定 |
enhanceScript | ScriptSetting | | | | 強化時に実行するスクリプト |
logSetting | LogSetting | | | | ログの出力設定 |
queueNamespaceId | string | | | ~ 1024文字 | スタンプシートの実行に使用する GS2-JobQueue のネームスペース |
keyId | string | | | ~ 1024文字 | スタンプシートの発行に使用する GS2-Key のネームスペース |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
Session: &session,
}
result, err := client.CreateNamespace(
&enhance.CreateNamespaceRequest {
Name: pointy.String("namespace1"),
Description: nil,
EnableDirectEnhance: pointy.Bool(true),
TransactionSetting: &enhance.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"),
},
EnhanceScript: nil,
LogSetting: &enhance.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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\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)
->withEnableDirectEnhance(True)
->withTransactionSetting((new \Gs2\Enhance\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"))
->withEnhanceScript(null)
->withLogSetting((new \Gs2\Enhance\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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.CreateNamespaceRequest;
import io.gs2.enhance.result.CreateNamespaceResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2EnhanceRestClient client = new Gs2EnhanceRestClient(session);
try {
CreateNamespaceResult result = client.createNamespace(
new CreateNamespaceRequest()
.withName("namespace1")
.withDescription(null)
.withEnableDirectEnhance(true)
.withTransactionSetting(new io.gs2.enhance.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"))
.withEnhanceScript(null)
.withLogSetting(new io.gs2.enhance.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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.CreateNamespaceRequest;
using Gs2.Gs2Enhance.Result.CreateNamespaceResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2EnhanceRestClient(session);
AsyncResult<Gs2.Gs2Enhance.Result.CreateNamespaceResult> asyncResult = null;
yield return client.CreateNamespace(
new Gs2.Gs2Enhance.Request.CreateNamespaceRequest()
.WithName("namespace1")
.WithDescription(null)
.WithEnableDirectEnhance(true)
.WithTransactionSetting(new Gs2.Gs2Enhance.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"))
.WithEnhanceScript(null)
.WithLogSetting(new Gs2.Gs2Enhance.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 Gs2Enhance from '@/gs2/enhance';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Enhance.Gs2EnhanceRestClient(session);
try {
const result = await client.createNamespace(
new Gs2Enhance.CreateNamespaceRequest()
.withName("namespace1")
.withDescription(null)
.withEnableDirectEnhance(true)
.withTransactionSetting(new Gs2Enhance.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"))
.withEnhanceScript(null)
.withLogSetting(new Gs2Enhance.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 enhance
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = enhance.Gs2EnhanceRestClient(session)
try:
result = client.create_namespace(
enhance.CreateNamespaceRequest()
.with_name(self.hash1)
.with_description(None)
.with_enable_direct_enhance(True)
.with_transaction_setting(
enhance.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_enhance_script(None)
.with_log_setting(
enhance.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('enhance')
api_result = client.create_namespace({
name='namespace1',
description=nil,
enableDirectEnhance=true,
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',
},
enhanceScript=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/enhance"
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 := enhance.Gs2EnhanceRestClient{
Session: &session,
}
result, err := client.GetNamespaceStatus(
&enhance.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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.GetNamespaceStatusRequest;
import io.gs2.enhance.result.GetNamespaceStatusResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2EnhanceRestClient client = new Gs2EnhanceRestClient(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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.GetNamespaceStatusRequest;
using Gs2.Gs2Enhance.Result.GetNamespaceStatusResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2EnhanceRestClient(session);
AsyncResult<Gs2.Gs2Enhance.Result.GetNamespaceStatusResult> asyncResult = null;
yield return client.GetNamespaceStatus(
new Gs2.Gs2Enhance.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 Gs2Enhance from '@/gs2/enhance';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Enhance.Gs2EnhanceRestClient(session);
try {
const result = await client.getNamespaceStatus(
new Gs2Enhance.GetNamespaceStatusRequest()
.withNamespaceName("namespace1")
);
const status = result.getStatus();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import enhance
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = enhance.Gs2EnhanceRestClient(session)
try:
result = client.get_namespace_status(
enhance.GetNamespaceStatusRequest()
.with_namespace_name(self.hash1)
)
status = result.status
except core.Gs2Exception as e:
exit(1)
client = gs2('enhance')
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/enhance"
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 := enhance.Gs2EnhanceRestClient{
Session: &session,
}
result, err := client.GetNamespace(
&enhance.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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.GetNamespaceRequest;
import io.gs2.enhance.result.GetNamespaceResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2EnhanceRestClient client = new Gs2EnhanceRestClient(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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.GetNamespaceRequest;
using Gs2.Gs2Enhance.Result.GetNamespaceResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2EnhanceRestClient(session);
AsyncResult<Gs2.Gs2Enhance.Result.GetNamespaceResult> asyncResult = null;
yield return client.GetNamespace(
new Gs2.Gs2Enhance.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 Gs2Enhance from '@/gs2/enhance';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Enhance.Gs2EnhanceRestClient(session);
try {
const result = await client.getNamespace(
new Gs2Enhance.GetNamespaceRequest()
.withNamespaceName("namespace1")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import enhance
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = enhance.Gs2EnhanceRestClient(session)
try:
result = client.get_namespace(
enhance.GetNamespaceRequest()
.with_namespace_name(self.hash1)
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('enhance')
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
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | ✓ | | ~ 32文字 | ネームスペース名 |
description | string | | | ~ 1024文字 | 説明文 |
enableDirectEnhance | bool | ✓ | false | | DirectEnhance を利用できるようにするか |
transactionSetting | TransactionSetting | ✓ | | | トランザクション設定 |
enhanceScript | ScriptSetting | | | | 強化時に実行するスクリプト |
logSetting | LogSetting | | | | ログの出力設定 |
queueNamespaceId | string | | | ~ 1024文字 | スタンプシートの実行に使用する GS2-JobQueue のネームスペース |
keyId | string | | | ~ 1024文字 | スタンプシートの発行に使用する GS2-Key のネームスペース |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
Session: &session,
}
result, err := client.UpdateNamespace(
&enhance.UpdateNamespaceRequest {
NamespaceName: pointy.String("namespace1"),
Description: pointy.String("description1"),
EnableDirectEnhance: pointy.Bool(false),
TransactionSetting: &enhance.TransactionSetting{
EnableAutoRun: pointy.Bool(false),
QueueNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002"),
KeyId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0002"),
},
EnhanceScript: nil,
LogSetting: &enhance.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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\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")
->withEnableDirectEnhance(False)
->withTransactionSetting((new \Gs2\Enhance\Model\TransactionSetting())
->withEnableAutoRun(False)
->withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002")
->withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:\namespace1:key:key-0002"))
->withEnhanceScript(null)
->withLogSetting((new \Gs2\Enhance\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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.UpdateNamespaceRequest;
import io.gs2.enhance.result.UpdateNamespaceResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2EnhanceRestClient client = new Gs2EnhanceRestClient(session);
try {
UpdateNamespaceResult result = client.updateNamespace(
new UpdateNamespaceRequest()
.withNamespaceName("namespace1")
.withDescription("description1")
.withEnableDirectEnhance(false)
.withTransactionSetting(new io.gs2.enhance.model.TransactionSetting()
.withEnableAutoRun(false)
.withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002")
.withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0002"))
.withEnhanceScript(null)
.withLogSetting(new io.gs2.enhance.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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.UpdateNamespaceRequest;
using Gs2.Gs2Enhance.Result.UpdateNamespaceResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2EnhanceRestClient(session);
AsyncResult<Gs2.Gs2Enhance.Result.UpdateNamespaceResult> asyncResult = null;
yield return client.UpdateNamespace(
new Gs2.Gs2Enhance.Request.UpdateNamespaceRequest()
.WithNamespaceName("namespace1")
.WithDescription("description1")
.WithEnableDirectEnhance(false)
.WithTransactionSetting(new Gs2.Gs2Enhance.Model.TransactionSetting()
.WithEnableAutoRun(false)
.WithQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002")
.WithKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0002"))
.WithEnhanceScript(null)
.WithLogSetting(new Gs2.Gs2Enhance.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 Gs2Enhance from '@/gs2/enhance';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Enhance.Gs2EnhanceRestClient(session);
try {
const result = await client.updateNamespace(
new Gs2Enhance.UpdateNamespaceRequest()
.withNamespaceName("namespace1")
.withDescription("description1")
.withEnableDirectEnhance(false)
.withTransactionSetting(new Gs2Enhance.model.TransactionSetting()
.withEnableAutoRun(false)
.withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002")
.withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0002"))
.withEnhanceScript(null)
.withLogSetting(new Gs2Enhance.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 enhance
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = enhance.Gs2EnhanceRestClient(session)
try:
result = client.update_namespace(
enhance.UpdateNamespaceRequest()
.with_namespace_name(self.hash1)
.with_description('description1')
.with_enable_direct_enhance(False)
.with_transaction_setting(
enhance.TransactionSetting()
.with_enable_auto_run(False)
.with_queue_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002')
.with_key_id('grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0002'))
.with_enhance_script(None)
.with_log_setting(
enhance.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('enhance')
api_result = client.update_namespace({
namespaceName='namespace1',
description='description1',
enableDirectEnhance=false,
transactionSetting={
enableAutoRun=false,
queueNamespaceId='grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002',
keyId='grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0002',
},
enhanceScript=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/enhance"
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 := enhance.Gs2EnhanceRestClient{
Session: &session,
}
result, err := client.DeleteNamespace(
&enhance.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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.DeleteNamespaceRequest;
import io.gs2.enhance.result.DeleteNamespaceResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2EnhanceRestClient client = new Gs2EnhanceRestClient(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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.DeleteNamespaceRequest;
using Gs2.Gs2Enhance.Result.DeleteNamespaceResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2EnhanceRestClient(session);
AsyncResult<Gs2.Gs2Enhance.Result.DeleteNamespaceResult> asyncResult = null;
yield return client.DeleteNamespace(
new Gs2.Gs2Enhance.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 Gs2Enhance from '@/gs2/enhance';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Enhance.Gs2EnhanceRestClient(session);
try {
const result = await client.deleteNamespace(
new Gs2Enhance.DeleteNamespaceRequest()
.withNamespaceName("namespace1")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import enhance
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = enhance.Gs2EnhanceRestClient(session)
try:
result = client.delete_namespace(
enhance.DeleteNamespaceRequest()
.with_namespace_name(self.hash1)
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('enhance')
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;
describeRateModels
強化レートモデルの一覧を取得
Request
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | ✓ | | ~ 32文字 | ネームスペース名 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
Session: &session,
}
result, err := client.DescribeRateModels(
&enhance.DescribeRateModelsRequest {
NamespaceName: pointy.String("namespace1"),
}
)
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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\DescribeRateModelsRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->describeRateModels(
(new DescribeRateModelsRequest())
->withNamespaceName(self::namespace1)
);
$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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.DescribeRateModelsRequest;
import io.gs2.enhance.result.DescribeRateModelsResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2EnhanceRestClient client = new Gs2EnhanceRestClient(session);
try {
DescribeRateModelsResult result = client.describeRateModels(
new DescribeRateModelsRequest()
.withNamespaceName("namespace1")
);
List<RateModel> 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.DescribeRateModelsRequest;
using Gs2.Gs2Enhance.Result.DescribeRateModelsResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2EnhanceRestClient(session);
AsyncResult<Gs2.Gs2Enhance.Result.DescribeRateModelsResult> asyncResult = null;
yield return client.DescribeRateModels(
new Gs2.Gs2Enhance.Request.DescribeRateModelsRequest()
.WithNamespaceName("namespace1"),
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 Gs2Enhance from '@/gs2/enhance';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Enhance.Gs2EnhanceRestClient(session);
try {
const result = await client.describeRateModels(
new Gs2Enhance.DescribeRateModelsRequest()
.withNamespaceName("namespace1")
);
const items = result.getItems();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import enhance
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = enhance.Gs2EnhanceRestClient(session)
try:
result = client.describe_rate_models(
enhance.DescribeRateModelsRequest()
.with_namespace_name(self.hash1)
)
items = result.items
except core.Gs2Exception as e:
exit(1)
client = gs2('enhance')
api_result = client.describe_rate_models({
namespaceName='namespace1',
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
items = result.items;
getRateModel
強化レートモデルを取得
Request
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | ✓ | | ~ 32文字 | ネームスペース名 |
rateName | string | ✓ | | ~ 128文字 | 強化レート名 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
Session: &session,
}
result, err := client.GetRateModel(
&enhance.GetRateModelRequest {
NamespaceName: pointy.String("namespace1"),
RateName: pointy.String("character-level"),
}
)
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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\GetRateModelRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->getRateModel(
(new GetRateModelRequest())
->withNamespaceName(self::namespace1)
->withRateName("character-level")
);
$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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.GetRateModelRequest;
import io.gs2.enhance.result.GetRateModelResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2EnhanceRestClient client = new Gs2EnhanceRestClient(session);
try {
GetRateModelResult result = client.getRateModel(
new GetRateModelRequest()
.withNamespaceName("namespace1")
.withRateName("character-level")
);
RateModel 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.GetRateModelRequest;
using Gs2.Gs2Enhance.Result.GetRateModelResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2EnhanceRestClient(session);
AsyncResult<Gs2.Gs2Enhance.Result.GetRateModelResult> asyncResult = null;
yield return client.GetRateModel(
new Gs2.Gs2Enhance.Request.GetRateModelRequest()
.WithNamespaceName("namespace1")
.WithRateName("character-level"),
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 Gs2Enhance from '@/gs2/enhance';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Enhance.Gs2EnhanceRestClient(session);
try {
const result = await client.getRateModel(
new Gs2Enhance.GetRateModelRequest()
.withNamespaceName("namespace1")
.withRateName("character-level")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import enhance
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = enhance.Gs2EnhanceRestClient(session)
try:
result = client.get_rate_model(
enhance.GetRateModelRequest()
.with_namespace_name(self.hash1)
.with_rate_name('character-level')
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('enhance')
api_result = client.get_rate_model({
namespaceName='namespace1',
rateName='character-level',
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
describeRateModelMasters
強化レートマスターの一覧を取得
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/enhance"
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 := enhance.Gs2EnhanceRestClient{
Session: &session,
}
result, err := client.DescribeRateModelMasters(
&enhance.DescribeRateModelMastersRequest {
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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\DescribeRateModelMastersRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->describeRateModelMasters(
(new DescribeRateModelMastersRequest())
->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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.DescribeRateModelMastersRequest;
import io.gs2.enhance.result.DescribeRateModelMastersResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2EnhanceRestClient client = new Gs2EnhanceRestClient(session);
try {
DescribeRateModelMastersResult result = client.describeRateModelMasters(
new DescribeRateModelMastersRequest()
.withNamespaceName("namespace1")
.withPageToken(null)
.withLimit(null)
);
List<RateModelMaster> 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.DescribeRateModelMastersRequest;
using Gs2.Gs2Enhance.Result.DescribeRateModelMastersResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2EnhanceRestClient(session);
AsyncResult<Gs2.Gs2Enhance.Result.DescribeRateModelMastersResult> asyncResult = null;
yield return client.DescribeRateModelMasters(
new Gs2.Gs2Enhance.Request.DescribeRateModelMastersRequest()
.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 Gs2Enhance from '@/gs2/enhance';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Enhance.Gs2EnhanceRestClient(session);
try {
const result = await client.describeRateModelMasters(
new Gs2Enhance.DescribeRateModelMastersRequest()
.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 enhance
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = enhance.Gs2EnhanceRestClient(session)
try:
result = client.describe_rate_model_masters(
enhance.DescribeRateModelMastersRequest()
.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('enhance')
api_result = client.describe_rate_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;
createRateModelMaster
強化レートマスターを新規作成
Request
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | ✓ | | ~ 32文字 | ネームスペース名 |
name | string | ✓ | | ~ 128文字 | 強化レート名 |
description | string | | | ~ 1024文字 | 説明文 |
metadata | string | | | ~ 2048文字 | メタデータ |
targetInventoryModelId | string | ✓ | | ~ 1024文字 | 強化対象に使用できるインベントリ |
acquireExperienceSuffix | string | ✓ | | ~ 1024文字 | GS2-Experience で入手した経験値を格納する プロパティID に付与するサフィックス |
materialInventoryModelId | string | ✓ | | ~ 1024文字 | 素材に使用できるインベントリ |
acquireExperienceHierarchy | List<string> | | | | 入手経験値を格納しているメタデータのJSON階層 |
experienceModelId | string | ✓ | | ~ 1024文字 | 強化の結果を得られる経験値 |
bonusRates | List<BonusRate> | | | | 経験値獲得量ボーナス |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
Session: &session,
}
result, err := client.CreateRateModelMaster(
&enhance.CreateRateModelMasterRequest {
NamespaceName: pointy.String("namespace1"),
Name: pointy.String("character-level"),
Description: nil,
Metadata: pointy.String("CHARACTER_LEVEL"),
TargetInventoryModelId: pointy.String("grn:inventory:character"),
AcquireExperienceSuffix: pointy.String(":level"),
MaterialInventoryModelId: pointy.String("grn:inventory:material"),
AcquireExperienceHierarchy: []string{
"experience",
},
ExperienceModelId: pointy.String("grn:experience:level"),
BonusRates: []enhance.BonusRate{
enhance.BonusRate{
Rate: pointy.Float32(1.0),
Weight: pointy.Int32(90),
},
enhance.BonusRate{
Rate: pointy.Float32(1.5),
Weight: pointy.Int32(9),
},
enhance.BonusRate{
Rate: pointy.Float32(2.0),
Weight: pointy.Int32(1),
},
},
}
)
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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\CreateRateModelMasterRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->createRateModelMaster(
(new CreateRateModelMasterRequest())
->withNamespaceName(self::namespace1)
->withName("character-level")
->withDescription(null)
->withMetadata("CHARACTER_LEVEL")
->withTargetInventoryModelId("grn:inventory:character")
->withAcquireExperienceSuffix(":level")
->withMaterialInventoryModelId("grn:inventory:material")
->withAcquireExperienceHierarchy([ "experience",
])
->withExperienceModelId("grn:experience:level")
->withBonusRates([ (new \Gs2\Enhance\Model\BonusRate())
->withRate(1.0)
->withWeight(90),
(new \Gs2\Enhance\Model\BonusRate())
->withRate(1.5)
->withWeight(9),
(new \Gs2\Enhance\Model\BonusRate())
->withRate(2.0)
->withWeight(1),
])
);
$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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.CreateRateModelMasterRequest;
import io.gs2.enhance.result.CreateRateModelMasterResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2EnhanceRestClient client = new Gs2EnhanceRestClient(session);
try {
CreateRateModelMasterResult result = client.createRateModelMaster(
new CreateRateModelMasterRequest()
.withNamespaceName("namespace1")
.withName("character-level")
.withDescription(null)
.withMetadata("CHARACTER_LEVEL")
.withTargetInventoryModelId("grn:inventory:character")
.withAcquireExperienceSuffix(":level")
.withMaterialInventoryModelId("grn:inventory:material")
.withAcquireExperienceHierarchy(Arrays.asList(
"experience"
))
.withExperienceModelId("grn:experience:level")
.withBonusRates(Arrays.asList(
new io.gs2.enhance.model.BonusRate()
.withRate(1.0f)
.withWeight(90),
new io.gs2.enhance.model.BonusRate()
.withRate(1.5f)
.withWeight(9),
new io.gs2.enhance.model.BonusRate()
.withRate(2.0f)
.withWeight(1)
))
);
RateModelMaster 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.CreateRateModelMasterRequest;
using Gs2.Gs2Enhance.Result.CreateRateModelMasterResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2EnhanceRestClient(session);
AsyncResult<Gs2.Gs2Enhance.Result.CreateRateModelMasterResult> asyncResult = null;
yield return client.CreateRateModelMaster(
new Gs2.Gs2Enhance.Request.CreateRateModelMasterRequest()
.WithNamespaceName("namespace1")
.WithName("character-level")
.WithDescription(null)
.WithMetadata("CHARACTER_LEVEL")
.WithTargetInventoryModelId("grn:inventory:character")
.WithAcquireExperienceSuffix(":level")
.WithMaterialInventoryModelId("grn:inventory:material")
.WithAcquireExperienceHierarchy(new string[] {
"experience"
})
.WithExperienceModelId("grn:experience:level")
.WithBonusRates(new Gs2.Gs2Enhance.Model.BonusRate[] {
new Gs2.Gs2Enhance.Model.BonusRate()
.WithRate(1.0f)
.WithWeight(90),
new Gs2.Gs2Enhance.Model.BonusRate()
.WithRate(1.5f)
.WithWeight(9),
new Gs2.Gs2Enhance.Model.BonusRate()
.WithRate(2.0f)
.WithWeight(1)
}),
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 Gs2Enhance from '@/gs2/enhance';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Enhance.Gs2EnhanceRestClient(session);
try {
const result = await client.createRateModelMaster(
new Gs2Enhance.CreateRateModelMasterRequest()
.withNamespaceName("namespace1")
.withName("character-level")
.withDescription(null)
.withMetadata("CHARACTER_LEVEL")
.withTargetInventoryModelId("grn:inventory:character")
.withAcquireExperienceSuffix(":level")
.withMaterialInventoryModelId("grn:inventory:material")
.withAcquireExperienceHierarchy([
"experience"
])
.withExperienceModelId("grn:experience:level")
.withBonusRates([
new Gs2Enhance.model.BonusRate()
.withRate(1.0)
.withWeight(90),
new Gs2Enhance.model.BonusRate()
.withRate(1.5)
.withWeight(9),
new Gs2Enhance.model.BonusRate()
.withRate(2.0)
.withWeight(1)
])
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import enhance
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = enhance.Gs2EnhanceRestClient(session)
try:
result = client.create_rate_model_master(
enhance.CreateRateModelMasterRequest()
.with_namespace_name(self.hash1)
.with_name('character-level')
.with_description(None)
.with_metadata('CHARACTER_LEVEL')
.with_target_inventory_model_id('grn:inventory:character')
.with_acquire_experience_suffix(':level')
.with_material_inventory_model_id('grn:inventory:material')
.with_acquire_experience_hierarchy([ 'experience',
])
.with_experience_model_id('grn:experience:level')
.with_bonus_rates([ enhance.BonusRate()
.with_rate(1.0)
.with_weight(90),
enhance.BonusRate()
.with_rate(1.5)
.with_weight(9),
enhance.BonusRate()
.with_rate(2.0)
.with_weight(1),
])
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('enhance')
api_result = client.create_rate_model_master({
namespaceName='namespace1',
name='character-level',
description=nil,
metadata='CHARACTER_LEVEL',
targetInventoryModelId='grn:inventory:character',
acquireExperienceSuffix=':level',
materialInventoryModelId='grn:inventory:material',
acquireExperienceHierarchy={
'experience'
},
experienceModelId='grn:experience:level',
bonusRates={
{
rate=1.0,
weight=90,
},
{
rate=1.5,
weight=9,
},
{
rate=2.0,
weight=1,
}
},
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
getRateModelMaster
強化レートマスターを取得
Request
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | ✓ | | ~ 32文字 | ネームスペース名 |
rateName | string | ✓ | | ~ 128文字 | 強化レート名 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
Session: &session,
}
result, err := client.GetRateModelMaster(
&enhance.GetRateModelMasterRequest {
NamespaceName: pointy.String("namespace1"),
RateName: pointy.String("character-level"),
}
)
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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\GetRateModelMasterRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->getRateModelMaster(
(new GetRateModelMasterRequest())
->withNamespaceName(self::namespace1)
->withRateName("character-level")
);
$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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.GetRateModelMasterRequest;
import io.gs2.enhance.result.GetRateModelMasterResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2EnhanceRestClient client = new Gs2EnhanceRestClient(session);
try {
GetRateModelMasterResult result = client.getRateModelMaster(
new GetRateModelMasterRequest()
.withNamespaceName("namespace1")
.withRateName("character-level")
);
RateModelMaster 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.GetRateModelMasterRequest;
using Gs2.Gs2Enhance.Result.GetRateModelMasterResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2EnhanceRestClient(session);
AsyncResult<Gs2.Gs2Enhance.Result.GetRateModelMasterResult> asyncResult = null;
yield return client.GetRateModelMaster(
new Gs2.Gs2Enhance.Request.GetRateModelMasterRequest()
.WithNamespaceName("namespace1")
.WithRateName("character-level"),
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 Gs2Enhance from '@/gs2/enhance';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Enhance.Gs2EnhanceRestClient(session);
try {
const result = await client.getRateModelMaster(
new Gs2Enhance.GetRateModelMasterRequest()
.withNamespaceName("namespace1")
.withRateName("character-level")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import enhance
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = enhance.Gs2EnhanceRestClient(session)
try:
result = client.get_rate_model_master(
enhance.GetRateModelMasterRequest()
.with_namespace_name(self.hash1)
.with_rate_name('character-level')
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('enhance')
api_result = client.get_rate_model_master({
namespaceName='namespace1',
rateName='character-level',
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
updateRateModelMaster
強化レートマスターを更新
Request
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | ✓ | | ~ 32文字 | ネームスペース名 |
rateName | string | ✓ | | ~ 128文字 | 強化レート名 |
description | string | | | ~ 1024文字 | 説明文 |
metadata | string | | | ~ 2048文字 | メタデータ |
targetInventoryModelId | string | ✓ | | ~ 1024文字 | 強化対象に使用できるインベントリ |
acquireExperienceSuffix | string | ✓ | | ~ 1024文字 | GS2-Experience で入手した経験値を格納する プロパティID に付与するサフィックス |
materialInventoryModelId | string | ✓ | | ~ 1024文字 | 素材に使用できるインベントリ |
acquireExperienceHierarchy | List<string> | | | | 入手経験値を格納しているメタデータのJSON階層 |
experienceModelId | string | ✓ | | ~ 1024文字 | 強化の結果を得られる経験値 |
bonusRates | List<BonusRate> | | | | 経験値獲得量ボーナス |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
Session: &session,
}
result, err := client.UpdateRateModelMaster(
&enhance.UpdateRateModelMasterRequest {
NamespaceName: pointy.String("namespace1"),
RateName: pointy.String("character-level"),
Description: nil,
Metadata: pointy.String("CHARACTER_LEVEL2"),
TargetInventoryModelId: pointy.String("grn:inventory:character2"),
AcquireExperienceSuffix: pointy.String(":level2"),
MaterialInventoryModelId: pointy.String("grn:inventory:material2"),
AcquireExperienceHierarchy: []string{
"experience2",
},
ExperienceModelId: pointy.String("grn:experience:level2"),
BonusRates: []enhance.BonusRate{
enhance.BonusRate{
Rate: pointy.Float32(1.05),
Weight: pointy.Int32(905),
},
enhance.BonusRate{
Rate: pointy.Float32(1.55),
Weight: pointy.Int32(95),
},
enhance.BonusRate{
Rate: pointy.Float32(2.05),
Weight: pointy.Int32(15),
},
},
}
)
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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\UpdateRateModelMasterRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->updateRateModelMaster(
(new UpdateRateModelMasterRequest())
->withNamespaceName(self::namespace1)
->withRateName("character-level")
->withDescription(null)
->withMetadata("CHARACTER_LEVEL2")
->withTargetInventoryModelId("grn:inventory:character2")
->withAcquireExperienceSuffix(":level2")
->withMaterialInventoryModelId("grn:inventory:material2")
->withAcquireExperienceHierarchy([ "experience2",
])
->withExperienceModelId("grn:experience:level2")
->withBonusRates([ (new \Gs2\Enhance\Model\BonusRate())
->withRate(1.05)
->withWeight(905),
(new \Gs2\Enhance\Model\BonusRate())
->withRate(1.55)
->withWeight(95),
(new \Gs2\Enhance\Model\BonusRate())
->withRate(2.05)
->withWeight(15),
])
);
$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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.UpdateRateModelMasterRequest;
import io.gs2.enhance.result.UpdateRateModelMasterResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2EnhanceRestClient client = new Gs2EnhanceRestClient(session);
try {
UpdateRateModelMasterResult result = client.updateRateModelMaster(
new UpdateRateModelMasterRequest()
.withNamespaceName("namespace1")
.withRateName("character-level")
.withDescription(null)
.withMetadata("CHARACTER_LEVEL2")
.withTargetInventoryModelId("grn:inventory:character2")
.withAcquireExperienceSuffix(":level2")
.withMaterialInventoryModelId("grn:inventory:material2")
.withAcquireExperienceHierarchy(Arrays.asList(
"experience2"
))
.withExperienceModelId("grn:experience:level2")
.withBonusRates(Arrays.asList(
new io.gs2.enhance.model.BonusRate()
.withRate(1.05f)
.withWeight(905),
new io.gs2.enhance.model.BonusRate()
.withRate(1.55f)
.withWeight(95),
new io.gs2.enhance.model.BonusRate()
.withRate(2.05f)
.withWeight(15)
))
);
RateModelMaster 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.UpdateRateModelMasterRequest;
using Gs2.Gs2Enhance.Result.UpdateRateModelMasterResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2EnhanceRestClient(session);
AsyncResult<Gs2.Gs2Enhance.Result.UpdateRateModelMasterResult> asyncResult = null;
yield return client.UpdateRateModelMaster(
new Gs2.Gs2Enhance.Request.UpdateRateModelMasterRequest()
.WithNamespaceName("namespace1")
.WithRateName("character-level")
.WithDescription(null)
.WithMetadata("CHARACTER_LEVEL2")
.WithTargetInventoryModelId("grn:inventory:character2")
.WithAcquireExperienceSuffix(":level2")
.WithMaterialInventoryModelId("grn:inventory:material2")
.WithAcquireExperienceHierarchy(new string[] {
"experience2"
})
.WithExperienceModelId("grn:experience:level2")
.WithBonusRates(new Gs2.Gs2Enhance.Model.BonusRate[] {
new Gs2.Gs2Enhance.Model.BonusRate()
.WithRate(1.05f)
.WithWeight(905),
new Gs2.Gs2Enhance.Model.BonusRate()
.WithRate(1.55f)
.WithWeight(95),
new Gs2.Gs2Enhance.Model.BonusRate()
.WithRate(2.05f)
.WithWeight(15)
}),
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 Gs2Enhance from '@/gs2/enhance';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Enhance.Gs2EnhanceRestClient(session);
try {
const result = await client.updateRateModelMaster(
new Gs2Enhance.UpdateRateModelMasterRequest()
.withNamespaceName("namespace1")
.withRateName("character-level")
.withDescription(null)
.withMetadata("CHARACTER_LEVEL2")
.withTargetInventoryModelId("grn:inventory:character2")
.withAcquireExperienceSuffix(":level2")
.withMaterialInventoryModelId("grn:inventory:material2")
.withAcquireExperienceHierarchy([
"experience2"
])
.withExperienceModelId("grn:experience:level2")
.withBonusRates([
new Gs2Enhance.model.BonusRate()
.withRate(1.05)
.withWeight(905),
new Gs2Enhance.model.BonusRate()
.withRate(1.55)
.withWeight(95),
new Gs2Enhance.model.BonusRate()
.withRate(2.05)
.withWeight(15)
])
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import enhance
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = enhance.Gs2EnhanceRestClient(session)
try:
result = client.update_rate_model_master(
enhance.UpdateRateModelMasterRequest()
.with_namespace_name(self.hash1)
.with_rate_name('character-level')
.with_description(None)
.with_metadata('CHARACTER_LEVEL2')
.with_target_inventory_model_id('grn:inventory:character2')
.with_acquire_experience_suffix(':level2')
.with_material_inventory_model_id('grn:inventory:material2')
.with_acquire_experience_hierarchy([ 'experience2',
])
.with_experience_model_id('grn:experience:level2')
.with_bonus_rates([ enhance.BonusRate()
.with_rate(1.05)
.with_weight(905),
enhance.BonusRate()
.with_rate(1.55)
.with_weight(95),
enhance.BonusRate()
.with_rate(2.05)
.with_weight(15),
])
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('enhance')
api_result = client.update_rate_model_master({
namespaceName='namespace1',
rateName='character-level',
description=nil,
metadata='CHARACTER_LEVEL2',
targetInventoryModelId='grn:inventory:character2',
acquireExperienceSuffix=':level2',
materialInventoryModelId='grn:inventory:material2',
acquireExperienceHierarchy={
'experience2'
},
experienceModelId='grn:experience:level2',
bonusRates={
{
rate=1.05,
weight=905,
},
{
rate=1.55,
weight=95,
},
{
rate=2.05,
weight=15,
}
},
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
deleteRateModelMaster
強化レートマスターを削除
Request
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | ✓ | | ~ 32文字 | ネームスペース名 |
rateName | string | ✓ | | ~ 128文字 | 強化レート名 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
Session: &session,
}
result, err := client.DeleteRateModelMaster(
&enhance.DeleteRateModelMasterRequest {
NamespaceName: pointy.String("namespace1"),
RateName: pointy.String("character-level"),
}
)
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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\DeleteRateModelMasterRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->deleteRateModelMaster(
(new DeleteRateModelMasterRequest())
->withNamespaceName(self::namespace1)
->withRateName("character-level")
);
$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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.DeleteRateModelMasterRequest;
import io.gs2.enhance.result.DeleteRateModelMasterResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2EnhanceRestClient client = new Gs2EnhanceRestClient(session);
try {
DeleteRateModelMasterResult result = client.deleteRateModelMaster(
new DeleteRateModelMasterRequest()
.withNamespaceName("namespace1")
.withRateName("character-level")
);
RateModelMaster 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.DeleteRateModelMasterRequest;
using Gs2.Gs2Enhance.Result.DeleteRateModelMasterResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2EnhanceRestClient(session);
AsyncResult<Gs2.Gs2Enhance.Result.DeleteRateModelMasterResult> asyncResult = null;
yield return client.DeleteRateModelMaster(
new Gs2.Gs2Enhance.Request.DeleteRateModelMasterRequest()
.WithNamespaceName("namespace1")
.WithRateName("character-level"),
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 Gs2Enhance from '@/gs2/enhance';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Enhance.Gs2EnhanceRestClient(session);
try {
const result = await client.deleteRateModelMaster(
new Gs2Enhance.DeleteRateModelMasterRequest()
.withNamespaceName("namespace1")
.withRateName("character-level")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import enhance
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = enhance.Gs2EnhanceRestClient(session)
try:
result = client.delete_rate_model_master(
enhance.DeleteRateModelMasterRequest()
.with_namespace_name(self.hash1)
.with_rate_name('character-level')
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('enhance')
api_result = client.delete_rate_model_master({
namespaceName='namespace1',
rateName='character-level',
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
directEnhance
強化を実行
このAPIは実行速度を最適化する代わりにセキュリティ的に課題を抱えています。
スタンプシートの発行と同時に「成功」「大成功」を表現するためのボーナスレートも応答していますが、
それによって、スタンプシートを発行だけして実行しないことで、選別が可能となっています。
選別を出来ないようにするには、Progress にある Start / End APIを利用することで、
Start を呼び出したタイミングで強化素材を消費し、ボーナスレートを確定し
End を呼び出したタイミングで経験値を得るためのスタンプシートを発行するようにすることができます。
Request
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | ✓ | | ~ 32文字 | ネームスペース名 |
rateName | string | ✓ | | ~ 128文字 | 強化レート名 |
accessToken | string | ✓ | | ~ 128文字 | ユーザーID |
targetItemSetId | string | ✓ | | ~ 1024文字 | 有効期限ごとのアイテム所持数量GRN |
materials | List<Material> | ✓ | | | 強化素材リスト |
config | List<Config> | | [] | | スタンプシートの変数に適用する設定値 |
Result
| 型 | 説明 |
---|
item | RateModel | 強化レートモデル |
transactionId | string | 発行されたスタンプシートのトランザクションID |
stampSheet | string | 強化処理の実行に使用するスタンプシート |
stampSheetEncryptionKeyId | string | スタンプシートの署名計算に使用した暗号鍵GRN |
autoRunStampSheet | bool? | スタンプシートの自動実行が有効か |
acquireExperience | long | 獲得経験値量 |
bonusRate | float | 経験値ボーナスの倍率(1.0=ボーナスなし) |
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
Session: &session,
}
result, err := client.DirectEnhance(
&enhance.DirectEnhanceRequest {
NamespaceName: pointy.String("namespace1"),
RateName: pointy.String("rate-0001"),
AccessToken: pointy.String("$access_token_0001"),
TargetItemSetId: pointy.String("item-set-0001"),
Materials: []enhance.Material{
{'materialItemSetId': 'material-0001', 'count': 1},
},
Config: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Item
transactionId := result.TransactionId
stampSheet := result.StampSheet
stampSheetEncryptionKeyId := result.StampSheetEncryptionKeyId
autoRunStampSheet := result.AutoRunStampSheet
acquireExperience := result.AcquireExperience
bonusRate := result.BonusRate
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\DirectEnhanceRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->directEnhance(
(new DirectEnhanceRequest())
->withNamespaceName(self::namespace1)
->withRateName("rate-0001")
->withAccessToken(self::$accessToken0001)
->withTargetItemSetId("item-set-0001")
->withMaterials([ {'materialItemSetId': 'material-0001', 'count': 1},
])
->withConfig(null)
);
$item = $result->getItem();
$transactionId = $result->getTransactionId();
$stampSheet = $result->getStampSheet();
$stampSheetEncryptionKeyId = $result->getStampSheetEncryptionKeyId();
$autoRunStampSheet = $result->getAutoRunStampSheet();
$acquireExperience = $result->getAcquireExperience();
$bonusRate = $result->getBonusRate();
} 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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.DirectEnhanceRequest;
import io.gs2.enhance.result.DirectEnhanceResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2EnhanceRestClient client = new Gs2EnhanceRestClient(session);
try {
DirectEnhanceResult result = client.directEnhance(
new DirectEnhanceRequest()
.withNamespaceName("namespace1")
.withRateName("rate-0001")
.withAccessToken("$access_token_0001")
.withTargetItemSetId("item-set-0001")
.withMaterials(Arrays.asList(
{'materialItemSetId': 'material-0001', 'count': 1}
))
.withConfig(null)
);
RateModel item = result.getItem();
String transactionId = result.getTransactionId();
String stampSheet = result.getStampSheet();
String stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
boolean autoRunStampSheet = result.getAutoRunStampSheet();
long acquireExperience = result.getAcquireExperience();
float bonusRate = result.getBonusRate();
} 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.DirectEnhanceRequest;
using Gs2.Gs2Enhance.Result.DirectEnhanceResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2EnhanceRestClient(session);
AsyncResult<Gs2.Gs2Enhance.Result.DirectEnhanceResult> asyncResult = null;
yield return client.DirectEnhance(
new Gs2.Gs2Enhance.Request.DirectEnhanceRequest()
.WithNamespaceName("namespace1")
.WithRateName("rate-0001")
.WithAccessToken("$access_token_0001")
.WithTargetItemSetId("item-set-0001")
.WithMaterials(new Gs2.Gs2Enhance.Model.Material[] {
{'materialItemSetId': 'material-0001', 'count': 1}
})
.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;
var acquireExperience = result.AcquireExperience;
var bonusRate = result.BonusRate;
import Gs2Core from '@/gs2/core';
import * as Gs2Enhance from '@/gs2/enhance';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Enhance.Gs2EnhanceRestClient(session);
try {
const result = await client.directEnhance(
new Gs2Enhance.DirectEnhanceRequest()
.withNamespaceName("namespace1")
.withRateName("rate-0001")
.withAccessToken("$access_token_0001")
.withTargetItemSetId("item-set-0001")
.withMaterials([
{'materialItemSetId': 'material-0001', 'count': 1}
])
.withConfig(null)
);
const item = result.getItem();
const transactionId = result.getTransactionId();
const stampSheet = result.getStampSheet();
const stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
const autoRunStampSheet = result.getAutoRunStampSheet();
const acquireExperience = result.getAcquireExperience();
const bonusRate = result.getBonusRate();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import enhance
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = enhance.Gs2EnhanceRestClient(session)
try:
result = client.direct_enhance(
enhance.DirectEnhanceRequest()
.with_namespace_name(self.hash1)
.with_rate_name('rate-0001')
.with_access_token(self.access_token_0001)
.with_target_item_set_id('item-set-0001')
.with_materials([ {'materialItemSetId': 'material-0001', 'count': 1},
])
.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
acquire_experience = result.acquire_experience
bonus_rate = result.bonus_rate
except core.Gs2Exception as e:
exit(1)
client = gs2('enhance')
api_result = client.direct_enhance({
namespaceName='namespace1',
rateName='rate-0001',
accessToken='$access_token_0001',
targetItemSetId='item-set-0001',
materials={
{'materialItemSetId': 'material-0001', 'count': 1}
},
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;
acquireExperience = result.acquireExperience;
bonusRate = result.bonusRate;
directEnhanceByUserId
ユーザIDを指定して強化を実行
このAPIは実行速度を最適化する代わりにセキュリティ的に課題を抱えています。
スタンプシートの発行と同時に「成功」「大成功」を表現するためのボーナスレートも応答していますが、
それによって、スタンプシートを発行だけして実行しないことで、選別が可能となっています。
選別を出来ないようにするには、Progress にある Start / End APIを利用することで、
Start を呼び出したタイミングで強化素材を消費し、ボーナスレートを確定し
End を呼び出したタイミングで経験値を得るためのスタンプシートを発行するようにすることができます。
Request
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | ✓ | | ~ 32文字 | ネームスペース名 |
rateName | string | ✓ | | ~ 128文字 | 強化レート名 |
userId | string | ✓ | | ~ 128文字 | ユーザーID |
targetItemSetId | string | ✓ | | ~ 1024文字 | 有効期限ごとのアイテム所持数量GRN |
materials | List<Material> | ✓ | | | 強化素材リスト |
config | List<Config> | | [] | | スタンプシートの変数に適用する設定値 |
Result
| 型 | 説明 |
---|
item | RateModel | 強化レートモデル |
transactionId | string | 発行されたスタンプシートのトランザクションID |
stampSheet | string | 強化処理の実行に使用するスタンプシート |
stampSheetEncryptionKeyId | string | スタンプシートの署名計算に使用した暗号鍵GRN |
autoRunStampSheet | bool? | スタンプシートの自動実行が有効か |
acquireExperience | long | 獲得経験値量 |
bonusRate | float | 経験値ボーナスの倍率(1.0=ボーナスなし) |
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
Session: &session,
}
result, err := client.DirectEnhanceByUserId(
&enhance.DirectEnhanceByUserIdRequest {
NamespaceName: pointy.String("namespace1"),
RateName: pointy.String("rate-0001"),
UserId: pointy.String("user-0001"),
TargetItemSetId: pointy.String("item-set-0001"),
Materials: []enhance.Material{
{'materialItemSetId': 'material-0001', 'count': 1},
},
Config: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Item
transactionId := result.TransactionId
stampSheet := result.StampSheet
stampSheetEncryptionKeyId := result.StampSheetEncryptionKeyId
autoRunStampSheet := result.AutoRunStampSheet
acquireExperience := result.AcquireExperience
bonusRate := result.BonusRate
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\DirectEnhanceByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->directEnhanceByUserId(
(new DirectEnhanceByUserIdRequest())
->withNamespaceName(self::namespace1)
->withRateName("rate-0001")
->withUserId("user-0001")
->withTargetItemSetId("item-set-0001")
->withMaterials([ {'materialItemSetId': 'material-0001', 'count': 1},
])
->withConfig(null)
);
$item = $result->getItem();
$transactionId = $result->getTransactionId();
$stampSheet = $result->getStampSheet();
$stampSheetEncryptionKeyId = $result->getStampSheetEncryptionKeyId();
$autoRunStampSheet = $result->getAutoRunStampSheet();
$acquireExperience = $result->getAcquireExperience();
$bonusRate = $result->getBonusRate();
} 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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.DirectEnhanceByUserIdRequest;
import io.gs2.enhance.result.DirectEnhanceByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2EnhanceRestClient client = new Gs2EnhanceRestClient(session);
try {
DirectEnhanceByUserIdResult result = client.directEnhanceByUserId(
new DirectEnhanceByUserIdRequest()
.withNamespaceName("namespace1")
.withRateName("rate-0001")
.withUserId("user-0001")
.withTargetItemSetId("item-set-0001")
.withMaterials(Arrays.asList(
{'materialItemSetId': 'material-0001', 'count': 1}
))
.withConfig(null)
);
RateModel item = result.getItem();
String transactionId = result.getTransactionId();
String stampSheet = result.getStampSheet();
String stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
boolean autoRunStampSheet = result.getAutoRunStampSheet();
long acquireExperience = result.getAcquireExperience();
float bonusRate = result.getBonusRate();
} 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.DirectEnhanceByUserIdRequest;
using Gs2.Gs2Enhance.Result.DirectEnhanceByUserIdResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2EnhanceRestClient(session);
AsyncResult<Gs2.Gs2Enhance.Result.DirectEnhanceByUserIdResult> asyncResult = null;
yield return client.DirectEnhanceByUserId(
new Gs2.Gs2Enhance.Request.DirectEnhanceByUserIdRequest()
.WithNamespaceName("namespace1")
.WithRateName("rate-0001")
.WithUserId("user-0001")
.WithTargetItemSetId("item-set-0001")
.WithMaterials(new Gs2.Gs2Enhance.Model.Material[] {
{'materialItemSetId': 'material-0001', 'count': 1}
})
.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;
var acquireExperience = result.AcquireExperience;
var bonusRate = result.BonusRate;
import Gs2Core from '@/gs2/core';
import * as Gs2Enhance from '@/gs2/enhance';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Enhance.Gs2EnhanceRestClient(session);
try {
const result = await client.directEnhanceByUserId(
new Gs2Enhance.DirectEnhanceByUserIdRequest()
.withNamespaceName("namespace1")
.withRateName("rate-0001")
.withUserId("user-0001")
.withTargetItemSetId("item-set-0001")
.withMaterials([
{'materialItemSetId': 'material-0001', 'count': 1}
])
.withConfig(null)
);
const item = result.getItem();
const transactionId = result.getTransactionId();
const stampSheet = result.getStampSheet();
const stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
const autoRunStampSheet = result.getAutoRunStampSheet();
const acquireExperience = result.getAcquireExperience();
const bonusRate = result.getBonusRate();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import enhance
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = enhance.Gs2EnhanceRestClient(session)
try:
result = client.direct_enhance_by_user_id(
enhance.DirectEnhanceByUserIdRequest()
.with_namespace_name(self.hash1)
.with_rate_name('rate-0001')
.with_user_id('user-0001')
.with_target_item_set_id('item-set-0001')
.with_materials([ {'materialItemSetId': 'material-0001', 'count': 1},
])
.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
acquire_experience = result.acquire_experience
bonus_rate = result.bonus_rate
except core.Gs2Exception as e:
exit(1)
client = gs2('enhance')
api_result = client.direct_enhance_by_user_id({
namespaceName='namespace1',
rateName='rate-0001',
userId='user-0001',
targetItemSetId='item-set-0001',
materials={
{'materialItemSetId': 'material-0001', 'count': 1}
},
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;
acquireExperience = result.acquireExperience;
bonusRate = result.bonusRate;
directEnhanceByStampSheet
スタンプシートを使用して強化を実行
Request
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
stampSheet | string | ✓ | | ~ 5242880文字 | スタンプシート |
keyId | string | ✓ | | ~ 1024文字 | 暗号鍵GRN |
Result
| 型 | 説明 |
---|
item | RateModel | 強化レートモデル |
transactionId | string | 発行されたスタンプシートのトランザクションID |
stampSheet | string | 強化処理の実行に使用するスタンプシート |
stampSheetEncryptionKeyId | string | スタンプシートの署名計算に使用した暗号鍵GRN |
autoRunStampSheet | bool? | スタンプシートの自動実行が有効か |
acquireExperience | long | 獲得経験値量 |
bonusRate | float | 経験値ボーナスの倍率(1.0=ボーナスなし) |
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
Session: &session,
}
result, err := client.DirectEnhanceByStampSheet(
&enhance.DirectEnhanceByStampSheetRequest {
StampSheet: pointy.String("$stampSheet"),
KeyId: pointy.String("$key1.keyId"),
}
)
if err != nil {
panic("error occurred")
}
item := result.Item
transactionId := result.TransactionId
stampSheet := result.StampSheet
stampSheetEncryptionKeyId := result.StampSheetEncryptionKeyId
autoRunStampSheet := result.AutoRunStampSheet
acquireExperience := result.AcquireExperience
bonusRate := result.BonusRate
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\DirectEnhanceByStampSheetRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->directEnhanceByStampSheet(
(new DirectEnhanceByStampSheetRequest())
->withStampSheet(self::$stampSheet)
->withKeyId(self::$key1.keyId)
);
$item = $result->getItem();
$transactionId = $result->getTransactionId();
$stampSheet = $result->getStampSheet();
$stampSheetEncryptionKeyId = $result->getStampSheetEncryptionKeyId();
$autoRunStampSheet = $result->getAutoRunStampSheet();
$acquireExperience = $result->getAcquireExperience();
$bonusRate = $result->getBonusRate();
} 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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.DirectEnhanceByStampSheetRequest;
import io.gs2.enhance.result.DirectEnhanceByStampSheetResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2EnhanceRestClient client = new Gs2EnhanceRestClient(session);
try {
DirectEnhanceByStampSheetResult result = client.directEnhanceByStampSheet(
new DirectEnhanceByStampSheetRequest()
.withStampSheet("$stampSheet")
.withKeyId("$key1.keyId")
);
RateModel item = result.getItem();
String transactionId = result.getTransactionId();
String stampSheet = result.getStampSheet();
String stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
boolean autoRunStampSheet = result.getAutoRunStampSheet();
long acquireExperience = result.getAcquireExperience();
float bonusRate = result.