GS2-Quest SDK API リファレンス

モデル

Namespace

ネームスペース

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

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

必須デフォルト値の制限説明
namespaceIdstring~ 1024文字ネームスペースGRN
namestring~ 32文字ネームスペース名
descriptionstring~ 1024文字説明文
transactionSettingTransactionSettingトランザクション設定
startQuestScriptScriptSettingクエスト開始したときに実行するスクリプト
completeQuestScriptScriptSettingクエストクリアしたときに実行するスクリプト
failedQuestScriptScriptSettingクエスト失敗したときに実行するスクリプト
logSettingLogSettingログの出力設定
createdAtlong作成日時
updatedAtlong最終更新日時
queueNamespaceIdstring~ 1024文字スタンプシートの実行に使用する GS2-JobQueue のネームスペース
keyIdstring~ 1024文字スタンプシートの発行に使用する GS2-Key のネームスペース

QuestGroupModelMaster

クエストグループモデルマスター

クエストグループは複数のクエストをグルーピングするためのエンティティで、クエストの進行はグループ内で同時に1つしか実行できません。 つまり、並列でクエストを進行できるようにする必要がある場合はグループを分ける必要があります。

必須デフォルト値の制限説明
questGroupModelIdstring~ 1024文字クエストグループマスターGRN
namestring~ 128文字クエストグループモデル名
descriptionstring~ 1024文字説明文
metadatastring~ 1024文字メタデータ
challengePeriodEventIdstring~ 1024文字クエストに挑戦可能な期間を設定した GS2-Schedule イベントGRN
createdAtlong作成日時
updatedAtlong最終更新日時

QuestModelMaster

クエストモデルマスター

クエストはインゲームの開始に必要な対価とクリアしたときに得られる報酬を保持するエンティティです。

クリアしたときに得られる報酬は複数のバリエーションを用意でき、クエスト開始時に抽選することができます。 例えば、クエストのクリアフラグ管理は同じコンテンツだが、レアモンスターの出現有無で2種類のコンテンツを用意することができます。

必須デフォルト値の制限説明
questModelIdstring~ 1024文字クエストモデルマスターGRN
questGroupNamestring~ 128文字クエストモデル名
namestring~ 128文字クエスト名
descriptionstring~ 1024文字説明文
metadatastring~ 1024文字メタデータ
contentsList<Contents>クエストの内容
challengePeriodEventIdstring~ 1024文字クエストに挑戦可能な期間を設定した GS2-Schedule イベントGRN
firstCompleteAcquireActionsList<AcquireAction>[]初回クリア報酬アクションリスト
consumeActionsList<ConsumeAction>[]クエストの参加料
failedAcquireActionsList<AcquireAction>[]クエスト失敗時の報酬
premiseQuestNamesList<string>[]クエストに挑戦するためにクリアしておく必要のあるクエスト名
createdAtlong作成日時
updatedAtlong最終更新日時

CurrentQuestMaster

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

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

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

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

必須デフォルト値の制限説明
namespaceIdstring~ 1024文字ネームスペースGRN
settingsstring~ 5242880文字マスターデータ

Contents

必須デフォルト値の制限説明
metadatastring~ 256文字メタデータ
completeAcquireActionsList<AcquireAction>[]クエストクリア時の報酬
weightint11 ~ 2147483646抽選する重み

Reward

必須デフォルト値の制限説明
actionenum []~ 128文字スタンプシートを使用して実行するアクションの種類
requeststring~ 5242880文字リクエストモデル
itemIdstring~ 1024文字入手するリソースGRN
valueint~ 2147483646入手する数量

Progress

クエスト進行状況

クエストの開始時に作成され、終了時に削除されます。

インゲームの途中でアプリを終了した際にはこのデータが残った状態となり エンティティが保持する進行中のクエスト情報からゲームをリジュームすることが可能です。

必須デフォルト値の制限説明
progressIdstring~ 1024文字クエスト進行状況GRN
userIdstring~ 128文字ユーザーID
transactionIdstringUUID~ 36文字トランザクションID
questModelIdstring~ 1024文字進行中のクエストモデルGRN
randomSeedlong~ 9223372036854775805乱数シード
rewardsList<Reward>[]クエストで得られる報酬の上限
metadatastring~ 256文字メタデータ
createdAtlong作成日時
updatedAtlong最終更新日時

CompletedQuestList

クリア済みのクエストリスト

必須デフォルト値の制限説明
completedQuestListIdstring~ 1024文字クリア済みクエストリストGRN
userIdstring~ 128文字ユーザーID
questGroupNamestring~ 128文字クエストグループ名
completeQuestNamesList<string>攻略済みのクエスト名一覧のリスト
createdAtlong作成日時
updatedAtlong最終更新日時

QuestGroupModel

クエストグループモデル

クエストグループは複数のクエストをグルーピングするためのエンティティで、クエストの進行はグループ内で同時に1つしか実行できません。 つまり、並列でクエストを進行できるようにする必要がある場合はグループを分ける必要があります。

必須デフォルト値の制限説明
questGroupModelIdstring~ 1024文字クエストグループGRN
namestring~ 128文字クエストグループ名
metadatastring~ 1024文字メタデータ
questsList<QuestModel>グループに属するクエスト
challengePeriodEventIdstring~ 1024文字クエストに挑戦可能な期間を設定した GS2-Schedule イベントGRN

QuestModel

クエストモデル

クエストはインゲームの開始に必要な対価とクリアしたときに得られる報酬を保持するエンティティです。

クリアしたときに得られる報酬は複数のバリエーションを用意でき、クエスト開始時に抽選することができます。 例えば、クエストのクリアフラグ管理は同じコンテンツだが、レアモンスターの出現有無で2種類のコンテンツを用意することができます。

必須デフォルト値の制限説明
questModelIdstring~ 1024文字クエストモデルGRN
namestring~ 128文字クエストモデル名
metadatastring~ 1024文字メタデータ
contentsList<Contents>クエストの内容
challengePeriodEventIdstring~ 1024文字クエストに挑戦可能な期間を設定した GS2-Schedule イベントGRN
firstCompleteAcquireActionsList<AcquireAction>[]初回クリア報酬アクションリスト
consumeActionsList<ConsumeAction>[]クエストの参加料
failedAcquireActionsList<AcquireAction>[]クエスト失敗時の報酬
premiseQuestNamesList<string>[]クエストに挑戦するためにクリアしておく必要のあるクエスト名

AcquireAction

必須デフォルト値の制限説明
actionenum []~ 128文字スタンプシートを使用して実行するアクションの種類
requeststring~ 1048576文字リクエストのJSON

ConsumeAction

必須デフォルト値の制限説明
actionenum []~ 128文字スタンプタスクで実行するアクションの種類
requeststring~ 1048576文字入手リクエストのJSON

Config

必須デフォルト値の制限説明
keystring~ 64文字名前
valuestring~ 51200文字

GitHubCheckoutSetting

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

ScriptSetting

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

LogSetting

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

TransactionSetting

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

メソッド

describeNamespaces

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

Request

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

Result

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

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/quest"
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 := quest.Gs2QuestRestClient{
    Session: &session,
}
result, err := client.DescribeNamespaces(
    &quest.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\Quest\Gs2QuestRestClient;
use Gs2\Quest\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.quest.rest.Gs2QuestRestClient;
import io.gs2.quest.request.DescribeNamespacesRequest;
import io.gs2.quest.result.DescribeNamespacesResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2QuestRestClient client = new Gs2QuestRestClient(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.Gs2Quest.Gs2QuestRestClient;
using Gs2.Gs2Quest.Request.DescribeNamespacesRequest;
using Gs2.Gs2Quest.Result.DescribeNamespacesResult;

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

AsyncResult<Gs2.Gs2Quest.Result.DescribeNamespacesResult> asyncResult = null;
yield return client.DescribeNamespaces(
    new Gs2.Gs2Quest.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 Gs2Quest from '@/gs2/quest';

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

try {
    const result = await client.describeNamespaces(
        new Gs2Quest.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 quest

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

try:
    result = client.describe_namespaces(
        quest.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('quest')

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

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

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

createNamespace

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

Request

必須デフォルト値の制限説明
namestring~ 32文字ネームスペース名
descriptionstring~ 1024文字説明文
transactionSettingTransactionSettingトランザクション設定
startQuestScriptScriptSettingクエスト開始したときに実行するスクリプト
completeQuestScriptScriptSettingクエストクリアしたときに実行するスクリプト
failedQuestScriptScriptSettingクエスト失敗したときに実行するスクリプト
logSettingLogSettingログの出力設定
queueNamespaceIdstring~ 1024文字スタンプシートの実行に使用する GS2-JobQueue のネームスペース
keyIdstring~ 1024文字スタンプシートの発行に使用する GS2-Key のネームスペース

Result

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

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/quest"
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 := quest.Gs2QuestRestClient{
    Session: &session,
}
result, err := client.CreateNamespace(
    &quest.CreateNamespaceRequest {
        Name: pointy.String("namespace1"),
        Description: nil,
        TransactionSetting: &quest.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"),
        },
        StartQuestScript: nil,
        CompleteQuestScript: nil,
        FailedQuestScript: nil,
        LogSetting: &quest.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\Quest\Gs2QuestRestClient;
use Gs2\Quest\Request\CreateNamespaceRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->createNamespace(
        (new CreateNamespaceRequest())
            ->withName(self::namespace1)
            ->withDescription(null)
            ->withTransactionSetting((new \Gs2\Quest\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"))
            ->withStartQuestScript(null)
            ->withCompleteQuestScript(null)
            ->withFailedQuestScript(null)
            ->withLogSetting((new \Gs2\Quest\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.quest.rest.Gs2QuestRestClient;
import io.gs2.quest.request.CreateNamespaceRequest;
import io.gs2.quest.result.CreateNamespaceResult;

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

try {
    CreateNamespaceResult result = client.createNamespace(
        new CreateNamespaceRequest()
            .withName("namespace1")
            .withDescription(null)
            .withTransactionSetting(new io.gs2.quest.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"))
            .withStartQuestScript(null)
            .withCompleteQuestScript(null)
            .withFailedQuestScript(null)
            .withLogSetting(new io.gs2.quest.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.Gs2Quest.Gs2QuestRestClient;
using Gs2.Gs2Quest.Request.CreateNamespaceRequest;
using Gs2.Gs2Quest.Result.CreateNamespaceResult;

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

AsyncResult<Gs2.Gs2Quest.Result.CreateNamespaceResult> asyncResult = null;
yield return client.CreateNamespace(
    new Gs2.Gs2Quest.Request.CreateNamespaceRequest()
        .WithName("namespace1")
        .WithDescription(null)
        .WithTransactionSetting(new Gs2.Gs2Quest.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"))
        .WithStartQuestScript(null)
        .WithCompleteQuestScript(null)
        .WithFailedQuestScript(null)
        .WithLogSetting(new Gs2.Gs2Quest.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 Gs2Quest from '@/gs2/quest';

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

try {
    const result = await client.createNamespace(
        new Gs2Quest.CreateNamespaceRequest()
            .withName("namespace1")
            .withDescription(null)
            .withTransactionSetting(new Gs2Quest.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"))
            .withStartQuestScript(null)
            .withCompleteQuestScript(null)
            .withFailedQuestScript(null)
            .withLogSetting(new Gs2Quest.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 quest

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

try:
    result = client.create_namespace(
        quest.CreateNamespaceRequest()
            .with_name(self.hash1)
            .with_description(None)
            .with_transaction_setting(
                quest.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_start_quest_script(None)
            .with_complete_quest_script(None)
            .with_failed_quest_script(None)
            .with_log_setting(
                quest.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('quest')

api_result = client.create_namespace({
    name='namespace1',
    description=nil,
    transactionSetting={
        enableAutoRun=false,
        queueNamespaceId='grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001',
        keyId='grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001',
    },
    startQuestScript=nil,
    completeQuestScript=nil,
    failedQuestScript=nil,
    logSetting={
        loggingNamespaceId='grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1',
    },
})

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

result = api_result.result
item = result.item;

getNamespaceStatus

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

Request

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

Result

説明
statusstring

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/quest"
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 := quest.Gs2QuestRestClient{
    Session: &session,
}
result, err := client.GetNamespaceStatus(
    &quest.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\Quest\Gs2QuestRestClient;
use Gs2\Quest\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.quest.rest.Gs2QuestRestClient;
import io.gs2.quest.request.GetNamespaceStatusRequest;
import io.gs2.quest.result.GetNamespaceStatusResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2QuestRestClient client = new Gs2QuestRestClient(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.Gs2Quest.Gs2QuestRestClient;
using Gs2.Gs2Quest.Request.GetNamespaceStatusRequest;
using Gs2.Gs2Quest.Result.GetNamespaceStatusResult;

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

AsyncResult<Gs2.Gs2Quest.Result.GetNamespaceStatusResult> asyncResult = null;
yield return client.GetNamespaceStatus(
    new Gs2.Gs2Quest.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 Gs2Quest from '@/gs2/quest';

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

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

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

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

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

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

result = api_result.result
status = result.status;

getNamespace

ネームスペースを取得

Request

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

Result

説明
itemNamespaceネームスペース

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/quest"
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 := quest.Gs2QuestRestClient{
    Session: &session,
}
result, err := client.GetNamespace(
    &quest.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\Quest\Gs2QuestRestClient;
use Gs2\Quest\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.quest.rest.Gs2QuestRestClient;
import io.gs2.quest.request.GetNamespaceRequest;
import io.gs2.quest.result.GetNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2QuestRestClient client = new Gs2QuestRestClient(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.Gs2Quest.Gs2QuestRestClient;
using Gs2.Gs2Quest.Request.GetNamespaceRequest;
using Gs2.Gs2Quest.Result.GetNamespaceResult;

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

AsyncResult<Gs2.Gs2Quest.Result.GetNamespaceResult> asyncResult = null;
yield return client.GetNamespace(
    new Gs2.Gs2Quest.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 Gs2Quest from '@/gs2/quest';

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

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

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

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

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

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

result = api_result.result
item = result.item;

updateNamespace

ネームスペースを更新

Request

必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
descriptionstring~ 1024文字説明文
transactionSettingTransactionSettingトランザクション設定
startQuestScriptScriptSettingクエスト開始したときに実行するスクリプト
completeQuestScriptScriptSettingクエストクリアしたときに実行するスクリプト
failedQuestScriptScriptSettingクエスト失敗したときに実行するスクリプト
logSettingLogSettingログの出力設定
queueNamespaceIdstring~ 1024文字スタンプシートの実行に使用する GS2-JobQueue のネームスペース
keyIdstring~ 1024文字スタンプシートの発行に使用する GS2-Key のネームスペース

Result

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

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/quest"
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 := quest.Gs2QuestRestClient{
    Session: &session,
}
result, err := client.UpdateNamespace(
    &quest.UpdateNamespaceRequest {
        NamespaceName: pointy.String("namespace1"),
        Description: pointy.String("description1"),
        TransactionSetting: &quest.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"),
        },
        StartQuestScript: nil,
        CompleteQuestScript: nil,
        FailedQuestScript: nil,
        LogSetting: &quest.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\Quest\Gs2QuestRestClient;
use Gs2\Quest\Request\UpdateNamespaceRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateNamespace(
        (new UpdateNamespaceRequest())
            ->withNamespaceName(self::namespace1)
            ->withDescription("description1")
            ->withTransactionSetting((new \Gs2\Quest\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"))
            ->withStartQuestScript(null)
            ->withCompleteQuestScript(null)
            ->withFailedQuestScript(null)
            ->withLogSetting((new \Gs2\Quest\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.quest.rest.Gs2QuestRestClient;
import io.gs2.quest.request.UpdateNamespaceRequest;
import io.gs2.quest.result.UpdateNamespaceResult;

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

try {
    UpdateNamespaceResult result = client.updateNamespace(
        new UpdateNamespaceRequest()
            .withNamespaceName("namespace1")
            .withDescription("description1")
            .withTransactionSetting(new io.gs2.quest.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"))
            .withStartQuestScript(null)
            .withCompleteQuestScript(null)
            .withFailedQuestScript(null)
            .withLogSetting(new io.gs2.quest.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.Gs2Quest.Gs2QuestRestClient;
using Gs2.Gs2Quest.Request.UpdateNamespaceRequest;
using Gs2.Gs2Quest.Result.UpdateNamespaceResult;

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

AsyncResult<Gs2.Gs2Quest.Result.UpdateNamespaceResult> asyncResult = null;
yield return client.UpdateNamespace(
    new Gs2.Gs2Quest.Request.UpdateNamespaceRequest()
        .WithNamespaceName("namespace1")
        .WithDescription("description1")
        .WithTransactionSetting(new Gs2.Gs2Quest.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"))
        .WithStartQuestScript(null)
        .WithCompleteQuestScript(null)
        .WithFailedQuestScript(null)
        .WithLogSetting(new Gs2.Gs2Quest.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 Gs2Quest from '@/gs2/quest';

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

try {
    const result = await client.updateNamespace(
        new Gs2Quest.UpdateNamespaceRequest()
            .withNamespaceName("namespace1")
            .withDescription("description1")
            .withTransactionSetting(new Gs2Quest.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"))
            .withStartQuestScript(null)
            .withCompleteQuestScript(null)
            .withFailedQuestScript(null)
            .withLogSetting(new Gs2Quest.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 quest

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

try:
    result = client.update_namespace(
        quest.UpdateNamespaceRequest()
            .with_namespace_name(self.hash1)
            .with_description('description1')
            .with_transaction_setting(
                quest.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_start_quest_script(None)
            .with_complete_quest_script(None)
            .with_failed_quest_script(None)
            .with_log_setting(
                quest.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('quest')

api_result = client.update_namespace({
    namespaceName='namespace1',
    description='description1',
    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',
    },
    startQuestScript=nil,
    completeQuestScript=nil,
    failedQuestScript=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

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

Result

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

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/quest"
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 := quest.Gs2QuestRestClient{
    Session: &session,
}
result, err := client.DeleteNamespace(
    &quest.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\Quest\Gs2QuestRestClient;
use Gs2\Quest\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.quest.rest.Gs2QuestRestClient;
import io.gs2.quest.request.DeleteNamespaceRequest;
import io.gs2.quest.result.DeleteNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2QuestRestClient client = new Gs2QuestRestClient(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.Gs2Quest.Gs2QuestRestClient;
using Gs2.Gs2Quest.Request.DeleteNamespaceRequest;
using Gs2.Gs2Quest.Result.DeleteNamespaceResult;

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

AsyncResult<Gs2.Gs2Quest.Result.DeleteNamespaceResult> asyncResult = null;
yield return client.DeleteNamespace(
    new Gs2.Gs2Quest.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 Gs2Quest from '@/gs2/quest';

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

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

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

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

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;

describeQuestGroupModelMasters

クエストグループマスターの一覧を取得

Request

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

Result

説明
itemsList<QuestGroupModelMaster>クエストグループマスターのリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/quest"
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 := quest.Gs2QuestRestClient{
    Session: &session,
}
result, err := client.DescribeQuestGroupModelMasters(
    &quest.DescribeQuestGroupModelMastersRequest {
        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\Quest\Gs2QuestRestClient;
use Gs2\Quest\Request\DescribeQuestGroupModelMastersRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeQuestGroupModelMasters(
        (new DescribeQuestGroupModelMastersRequest())
            ->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.quest.rest.Gs2QuestRestClient;
import io.gs2.quest.request.DescribeQuestGroupModelMastersRequest;
import io.gs2.quest.result.DescribeQuestGroupModelMastersResult;

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

try {
    DescribeQuestGroupModelMastersResult result = client.describeQuestGroupModelMasters(
        new DescribeQuestGroupModelMastersRequest()
            .withNamespaceName("namespace1")
            .withPageToken(null)
            .withLimit(null)
    );
    List<QuestGroupModelMaster> 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.Gs2Quest.Gs2QuestRestClient;
using Gs2.Gs2Quest.Request.DescribeQuestGroupModelMastersRequest;
using Gs2.Gs2Quest.Result.DescribeQuestGroupModelMastersResult;

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

AsyncResult<Gs2.Gs2Quest.Result.DescribeQuestGroupModelMastersResult> asyncResult = null;
yield return client.DescribeQuestGroupModelMasters(
    new Gs2.Gs2Quest.Request.DescribeQuestGroupModelMastersRequest()
        .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 Gs2Quest from '@/gs2/quest';

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

try {
    const result = await client.describeQuestGroupModelMasters(
        new Gs2Quest.DescribeQuestGroupModelMastersRequest()
            .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 quest

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

try:
    result = client.describe_quest_group_model_masters(
        quest.DescribeQuestGroupModelMastersRequest()
            .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('quest')

api_result = client.describe_quest_group_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;

createQuestGroupModelMaster

クエストグループマスターを新規作成

Request

必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
namestring~ 128文字クエストグループモデル名
descriptionstring~ 1024文字説明文
metadatastring~ 1024文字メタデータ
challengePeriodEventIdstring~ 1024文字クエストに挑戦可能な期間を設定した GS2-Schedule イベントGRN

Result

説明
itemQuestGroupModelMaster作成したクエストグループマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/quest"
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 := quest.Gs2QuestRestClient{
    Session: &session,
}
result, err := client.CreateQuestGroupModelMaster(
    &quest.CreateQuestGroupModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        Name: pointy.String("quest-group-0001"),
        Description: nil,
        Metadata: nil,
        ChallengePeriodEventId: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Quest\Gs2QuestRestClient;
use Gs2\Quest\Request\CreateQuestGroupModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->createQuestGroupModelMaster(
        (new CreateQuestGroupModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withName("quest-group-0001")
            ->withDescription(null)
            ->withMetadata(null)
            ->withChallengePeriodEventId(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.quest.rest.Gs2QuestRestClient;
import io.gs2.quest.request.CreateQuestGroupModelMasterRequest;
import io.gs2.quest.result.CreateQuestGroupModelMasterResult;

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

try {
    CreateQuestGroupModelMasterResult result = client.createQuestGroupModelMaster(
        new CreateQuestGroupModelMasterRequest()
            .withNamespaceName("namespace1")
            .withName("quest-group-0001")
            .withDescription(null)
            .withMetadata(null)
            .withChallengePeriodEventId(null)
    );
    QuestGroupModelMaster 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.Gs2Quest.Gs2QuestRestClient;
using Gs2.Gs2Quest.Request.CreateQuestGroupModelMasterRequest;
using Gs2.Gs2Quest.Result.CreateQuestGroupModelMasterResult;

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

AsyncResult<Gs2.Gs2Quest.Result.CreateQuestGroupModelMasterResult> asyncResult = null;
yield return client.CreateQuestGroupModelMaster(
    new Gs2.Gs2Quest.Request.CreateQuestGroupModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithName("quest-group-0001")
        .WithDescription(null)
        .WithMetadata(null)
        .WithChallengePeriodEventId(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Quest from '@/gs2/quest';

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

try {
    const result = await client.createQuestGroupModelMaster(
        new Gs2Quest.CreateQuestGroupModelMasterRequest()
            .withNamespaceName("namespace1")
            .withName("quest-group-0001")
            .withDescription(null)
            .withMetadata(null)
            .withChallengePeriodEventId(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import quest

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

try:
    result = client.create_quest_group_model_master(
        quest.CreateQuestGroupModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_name('quest-group-0001')
            .with_description(None)
            .with_metadata(None)
            .with_challenge_period_event_id(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('quest')

api_result = client.create_quest_group_model_master({
    namespaceName='namespace1',
    name='quest-group-0001',
    description=nil,
    metadata=nil,
    challengePeriodEventId=nil,
})

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

result = api_result.result
item = result.item;

getQuestGroupModelMaster

クエストグループマスターを取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
questGroupNamestring~ 128文字クエストグループモデル名

Result

説明
itemQuestGroupModelMasterクエストグループマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/quest"
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 := quest.Gs2QuestRestClient{
    Session: &session,
}
result, err := client.GetQuestGroupModelMaster(
    &quest.GetQuestGroupModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        QuestGroupName: pointy.String("quest-group-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Quest\Gs2QuestRestClient;
use Gs2\Quest\Request\GetQuestGroupModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getQuestGroupModelMaster(
        (new GetQuestGroupModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withQuestGroupName("quest-group-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.quest.rest.Gs2QuestRestClient;
import io.gs2.quest.request.GetQuestGroupModelMasterRequest;
import io.gs2.quest.result.GetQuestGroupModelMasterResult;

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

try {
    GetQuestGroupModelMasterResult result = client.getQuestGroupModelMaster(
        new GetQuestGroupModelMasterRequest()
            .withNamespaceName("namespace1")
            .withQuestGroupName("quest-group-0001")
    );
    QuestGroupModelMaster 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.Gs2Quest.Gs2QuestRestClient;
using Gs2.Gs2Quest.Request.GetQuestGroupModelMasterRequest;
using Gs2.Gs2Quest.Result.GetQuestGroupModelMasterResult;

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

AsyncResult<Gs2.Gs2Quest.Result.GetQuestGroupModelMasterResult> asyncResult = null;
yield return client.GetQuestGroupModelMaster(
    new Gs2.Gs2Quest.Request.GetQuestGroupModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithQuestGroupName("quest-group-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Quest from '@/gs2/quest';

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

try {
    const result = await client.getQuestGroupModelMaster(
        new Gs2Quest.GetQuestGroupModelMasterRequest()
            .withNamespaceName("namespace1")
            .withQuestGroupName("quest-group-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import quest

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

try:
    result = client.get_quest_group_model_master(
        quest.GetQuestGroupModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_quest_group_name('quest-group-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('quest')

api_result = client.get_quest_group_model_master({
    namespaceName='namespace1',
    questGroupName='quest-group-0001',
})

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

result = api_result.result
item = result.item;

updateQuestGroupModelMaster

クエストグループマスターを更新

Request

必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
questGroupNamestring~ 128文字クエストグループモデル名
descriptionstring~ 1024文字説明文
metadatastring~ 1024文字メタデータ
challengePeriodEventIdstring~ 1024文字クエストに挑戦可能な期間を設定した GS2-Schedule イベントGRN

Result

説明
itemQuestGroupModelMaster更新したクエストグループマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/quest"
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 := quest.Gs2QuestRestClient{
    Session: &session,
}
result, err := client.UpdateQuestGroupModelMaster(
    &quest.UpdateQuestGroupModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        QuestGroupName: pointy.String("quest-group-0001"),
        Description: pointy.String("description1"),
        Metadata: nil,
        ChallengePeriodEventId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:schedule:schedule-0001:event:event-0002"),
    }
)
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\Quest\Gs2QuestRestClient;
use Gs2\Quest\Request\UpdateQuestGroupModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateQuestGroupModelMaster(
        (new UpdateQuestGroupModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withQuestGroupName("quest-group-0001")
            ->withDescription("description1")
            ->withMetadata(null)
            ->withChallengePeriodEventId("grn:gs2:ap-northeast-1:YourOwnerId:schedule:schedule-0001:event:event-0002")
    );
    $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.quest.rest.Gs2QuestRestClient;
import io.gs2.quest.request.UpdateQuestGroupModelMasterRequest;
import io.gs2.quest.result.UpdateQuestGroupModelMasterResult;

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

try {
    UpdateQuestGroupModelMasterResult result = client.updateQuestGroupModelMaster(
        new UpdateQuestGroupModelMasterRequest()
            .withNamespaceName("namespace1")
            .withQuestGroupName("quest-group-0001")
            .withDescription("description1")
            .withMetadata(null)
            .withChallengePeriodEventId("grn:gs2:ap-northeast-1:YourOwnerId:schedule:schedule-0001:event:event-0002")
    );
    QuestGroupModelMaster 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.Gs2Quest.Gs2QuestRestClient;
using Gs2.Gs2Quest.Request.UpdateQuestGroupModelMasterRequest;
using Gs2.Gs2Quest.Result.UpdateQuestGroupModelMasterResult;

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

AsyncResult<Gs2.Gs2Quest.Result.UpdateQuestGroupModelMasterResult> asyncResult = null;
yield return client.UpdateQuestGroupModelMaster(
    new Gs2.Gs2Quest.Request.UpdateQuestGroupModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithQuestGroupName("quest-group-0001")
        .WithDescription("description1")
        .WithMetadata(null)
        .WithChallengePeriodEventId("grn:gs2:ap-northeast-1:YourOwnerId:schedule:schedule-0001:event:event-0002"),
    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 Gs2Quest from '@/gs2/quest';

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

try {
    const result = await client.updateQuestGroupModelMaster(
        new Gs2Quest.UpdateQuestGroupModelMasterRequest()
            .withNamespaceName("namespace1")
            .withQuestGroupName("quest-group-0001")
            .withDescription("description1")
            .withMetadata(null)
            .withChallengePeriodEventId("grn:gs2:ap-northeast-1:YourOwnerId:schedule:schedule-0001:event:event-0002")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import quest

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

try:
    result = client.update_quest_group_model_master(
        quest.UpdateQuestGroupModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_quest_group_name('quest-group-0001')
            .with_description('description1')
            .with_metadata(None)
            .with_challenge_period_event_id('grn:gs2:ap-northeast-1:YourOwnerId:schedule:schedule-0001:event:event-0002')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('quest')

api_result = client.update_quest_group_model_master({
    namespaceName='namespace1',
    questGroupName='quest-group-0001',
    description='description1',
    metadata=nil,
    challengePeriodEventId='grn:gs2:ap-northeast-1:YourOwnerId:schedule:schedule-0001:event:event-0002',
})

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

result = api_result.result
item = result.item;

deleteQuestGroupModelMaster

クエストグループマスターを削除

Request

必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
questGroupNamestring~ 128文字クエストグループモデル名

Result

説明
itemQuestGroupModelMaster削除したクエストグループマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/quest"
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 := quest.Gs2QuestRestClient{
    Session: &session,
}
result, err := client.DeleteQuestGroupModelMaster(
    &quest.DeleteQuestGroupModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        QuestGroupName: pointy.String("quest-group-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Quest\Gs2QuestRestClient;
use Gs2\Quest\Request\DeleteQuestGroupModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->deleteQuestGroupModelMaster(
        (new DeleteQuestGroupModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withQuestGroupName("quest-group-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.quest.rest.Gs2QuestRestClient;
import io.gs2.quest.request.DeleteQuestGroupModelMasterRequest;
import io.gs2.quest.result.DeleteQuestGroupModelMasterResult;

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

try {
    DeleteQuestGroupModelMasterResult result = client.deleteQuestGroupModelMaster(
        new DeleteQuestGroupModelMasterRequest()
            .withNamespaceName("namespace1")
            .withQuestGroupName("quest-group-0001")
    );
    QuestGroupModelMaster 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.Gs2Quest.Gs2QuestRestClient;
using Gs2.Gs2Quest.Request.DeleteQuestGroupModelMasterRequest;
using Gs2.Gs2Quest.Result.DeleteQuestGroupModelMasterResult;

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

AsyncResult<Gs2.Gs2Quest.Result.DeleteQuestGroupModelMasterResult> asyncResult = null;
yield return client.DeleteQuestGroupModelMaster(
    new Gs2.Gs2Quest.Request.DeleteQuestGroupModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithQuestGroupName("quest-group-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Quest from '@/gs2/quest';

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

try {
    const result = await client.deleteQuestGroupModelMaster(
        new Gs2Quest.DeleteQuestGroupModelMasterRequest()
            .withNamespaceName("namespace1")
            .withQuestGroupName("quest-group-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import quest

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

try:
    result = client.delete_quest_group_model_master(
        quest.DeleteQuestGroupModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_quest_group_name('quest-group-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('quest')

api_result = client.delete_quest_group_model_master({
    namespaceName='namespace1',
    questGroupName='quest-group-0001',
})

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

result = api_result.result
item = result.item;

describeQuestModelMasters

クエストモデルマスターの一覧を取得

Request

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

Result

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

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/quest"
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 := quest.Gs2QuestRestClient{
    Session: &session,
}
result, err := client.DescribeQuestModelMasters(
    &quest.DescribeQuestModelMastersRequest {
        NamespaceName: pointy.String("namespace1"),
        QuestGroupName: pointy.String("quest-group-0001"),
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Quest\Gs2QuestRestClient;
use Gs2\Quest\Request\DescribeQuestModelMastersRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeQuestModelMasters(
        (new DescribeQuestModelMastersRequest())
            ->withNamespaceName(self::namespace1)
            ->withQuestGroupName("quest-group-0001")
            ->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.quest.rest.Gs2QuestRestClient;
import io.gs2.quest.request.DescribeQuestModelMastersRequest;
import io.gs2.quest.result.DescribeQuestModelMastersResult;

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

try {
    DescribeQuestModelMastersResult result = client.describeQuestModelMasters(
        new DescribeQuestModelMastersRequest()
            .withNamespaceName("namespace1")
            .withQuestGroupName("quest-group-0001")
            .withPageToken(null)
            .withLimit(null)
    );
    List<QuestModelMaster> 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.Gs2Quest.Gs2QuestRestClient;
using Gs2.Gs2Quest.Request.DescribeQuestModelMastersRequest;
using Gs2.Gs2Quest.Result.DescribeQuestModelMastersResult;

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

AsyncResult<Gs2.Gs2Quest.Result.DescribeQuestModelMastersResult> asyncResult = null;
yield return client.DescribeQuestModelMasters(
    new Gs2.Gs2Quest.Request.DescribeQuestModelMastersRequest()
        .WithNamespaceName("namespace1")
        .WithQuestGroupName("quest-group-0001")
        .WithPageToken(null)
        .WithLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Quest from '@/gs2/quest';

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

try {
    const result = await client.describeQuestModelMasters(
        new Gs2Quest.DescribeQuestModelMastersRequest()
            .withNamespaceName("namespace1")
            .withQuestGroupName("quest-group-0001")
            .withPageToken(null)
            .withLimit(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import quest

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

try:
    result = client.describe_quest_model_masters(
        quest.DescribeQuestModelMastersRequest()
            .with_namespace_name(self.hash1)
            .with_quest_group_name('quest-group-0001')
            .with_page_token(None)
            .with_limit(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)
client = gs2('quest')

api_result = client.describe_quest_model_masters({
    namespaceName='namespace1',
    questGroupName='quest-group-0001',
    pageToken=nil,
    limit=nil,
})

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

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

createQuestModelMaster

クエストモデルマスターを新規作成

Request

必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
questGroupNamestring~ 128文字クエストグループモデル名
namestring~ 128文字クエスト名
descriptionstring~ 1024文字説明文
metadatastring~ 1024文字メタデータ
contentsList<Contents>クエストの内容
challengePeriodEventIdstring~ 1024文字クエストに挑戦可能な期間を設定した GS2-Schedule イベントGRN
firstCompleteAcquireActionsList<AcquireAction>[]初回クリア報酬アクションリスト
consumeActionsList<ConsumeAction>[]クエストの参加料
failedAcquireActionsList<AcquireAction>[]クエスト失敗時の報酬
premiseQuestNamesList<string>[]クエストに挑戦するためにクリアしておく必要のあるクエスト名

Result

説明
itemQuestModelMaster作成したクエストモデルマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/quest"
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 := quest.Gs2QuestRestClient{
    Session: &session,
}
result, err := client.CreateQuestModelMaster(
    &quest.CreateQuestModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        QuestGroupName: pointy.String("quest-group-0001"),
        Name: pointy.String("quest-0001"),
        Description: nil,
        Metadata: nil,
        Contents: []quest.Contents{
            quest.Contents{
                Metadata: pointy.String("normal"),
                CompleteAcquireActions: []quest.AcquireAction{
                    quest.AcquireAction{
                        Action: pointy.String("Gs2Experience:AddExperienceByUserId"),
                        Request: pointy.String("Gs2Experience:AddExperienceByUserId-request1"),
                    },
                },
                Weight: pointy.Int32(1),
            },
        },
        ChallengePeriodEventId: nil,
        FirstCompleteAcquireActions: nil,
        ConsumeActions: nil,
        FailedAcquireActions: nil,
        PremiseQuestNames: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Quest\Gs2QuestRestClient;
use Gs2\Quest\Request\CreateQuestModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->createQuestModelMaster(
        (new CreateQuestModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withQuestGroupName("quest-group-0001")
            ->withName("quest-0001")
            ->withDescription(null)
            ->withMetadata(null)
            ->withContents([    (new \Gs2\Quest\Model\Contents())
                ->withMetadata("normal")
                ->withCompleteAcquireActions([    (new \Gs2\Quest\Model\AcquireAction())
                ->withAction("Gs2Experience:AddExperienceByUserId")
                ->withRequest("Gs2Experience:AddExperienceByUserId-request1"),
            ])
                ->withWeight(1),
            ])
            ->withChallengePeriodEventId(null)
            ->withFirstCompleteAcquireActions(null)
            ->withConsumeActions(null)
            ->withFailedAcquireActions(null)
            ->withPremiseQuestNames(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.quest.rest.Gs2QuestRestClient;
import io.gs2.quest.request.CreateQuestModelMasterRequest;
import io.gs2.quest.result.CreateQuestModelMasterResult;

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

try {
    CreateQuestModelMasterResult result = client.createQuestModelMaster(
        new CreateQuestModelMasterRequest()
            .withNamespaceName("namespace1")
            .withQuestGroupName("quest-group-0001")
            .withName("quest-0001")
            .withDescription(null)
            .withMetadata(null)
            .withContents(Arrays.asList(
                new io.gs2.quest.model.Contents()
                    .withMetadata("normal")
                    .withCompleteAcquireActions(Arrays.asList(
                    new io.gs2.quest.model.AcquireAction()
                        .withAction("Gs2Experience:AddExperienceByUserId")
                        .withRequest("Gs2Experience:AddExperienceByUserId-request1")
                ))
                    .withWeight(1)
            ))
            .withChallengePeriodEventId(null)
            .withFirstCompleteAcquireActions(null)
            .withConsumeActions(null)
            .withFailedAcquireActions(null)
            .withPremiseQuestNames(null)
    );
    QuestModelMaster 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.Gs2Quest.Gs2QuestRestClient;
using Gs2.Gs2Quest.Request.CreateQuestModelMasterRequest;
using Gs2.Gs2Quest.Result.CreateQuestModelMasterResult;

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

AsyncResult<Gs2.Gs2Quest.Result.CreateQuestModelMasterResult> asyncResult = null;
yield return client.CreateQuestModelMaster(
    new Gs2.Gs2Quest.Request.CreateQuestModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithQuestGroupName("quest-group-0001")
        .WithName("quest-0001")
        .WithDescription(null)
        .WithMetadata(null)
        .WithContents(new Gs2.Gs2Quest.Model.Contents[] {
            new Gs2.Gs2Quest.Model.Contents()
                .WithMetadata("normal")
                .WithCompleteAcquireActions(new Gs2.Core.Model.AcquireAction[] {
                new Gs2.Core.Model.AcquireAction()
                    .WithAction("Gs2Experience:AddExperienceByUserId")
                    .WithRequest("Gs2Experience:AddExperienceByUserId-request1")
            })
                .WithWeight(1)
        })
        .WithChallengePeriodEventId(null)
        .WithFirstCompleteAcquireActions(null)
        .WithConsumeActions(null)
        .WithFailedAcquireActions(null)
        .WithPremiseQuestNames(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Quest from '@/gs2/quest';

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

try {
    const result = await client.createQuestModelMaster(
        new Gs2Quest.CreateQuestModelMasterRequest()
            .withNamespaceName("namespace1")
            .withQuestGroupName("quest-group-0001")
            .withName("quest-0001")
            .withDescription(null)
            .withMetadata(null)
            .withContents([
                new Gs2Quest.model.Contents()
                    .withMetadata("normal")
                    .withCompleteAcquireActions([
                    new Gs2Quest.model.AcquireAction()
                        .withAction("Gs2Experience:AddExperienceByUserId")
                        .withRequest("Gs2Experience:AddExperienceByUserId-request1")
                ])
                    .withWeight(1)
            ])
            .withChallengePeriodEventId(null)
            .withFirstCompleteAcquireActions(null)
            .withConsumeActions(null)
            .withFailedAcquireActions(null)
            .withPremiseQuestNames(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import quest

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

try:
    result = client.create_quest_model_master(
        quest.CreateQuestModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_quest_group_name('quest-group-0001')
            .with_name('quest-0001')
            .with_description(None)
            .with_metadata(None)
            .with_contents([    quest.Contents()
                .with_metadata('normal')
                .with_complete_acquire_actions([    quest.AcquireAction()
                .with_action('Gs2Experience:AddExperienceByUserId')
                .with_request('Gs2Experience:AddExperienceByUserId-request1'),
            ])
                .with_weight(1),
            ])
            .with_challenge_period_event_id(None)
            .with_first_complete_acquire_actions(None)
            .with_consume_actions(None)
            .with_failed_acquire_actions(None)
            .with_premise_quest_names(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('quest')

api_result = client.create_quest_model_master({
    namespaceName='namespace1',
    questGroupName='quest-group-0001',
    name='quest-0001',
    description=nil,
    metadata=nil,
    contents={
        {
            metadata='normal',
            completeAcquireActions={
            {
                action='Gs2Experience:AddExperienceByUserId',
                request='Gs2Experience:AddExperienceByUserId-request1',
            }
        },
            weight=1,
        }
    },
    challengePeriodEventId=nil,
    firstCompleteAcquireActions=nil,
    consumeActions=nil,
    failedAcquireActions=nil,
    premiseQuestNames=nil,
})

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

result = api_result.result
item = result.item;

getQuestModelMaster

クエストモデルマスターを取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
questGroupNamestring~ 128文字クエストグループモデル名
questNamestring~ 128文字クエスト名

Result

説明
itemQuestModelMasterクエストモデルマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/quest"
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 := quest.Gs2QuestRestClient{
    Session: &session,
}
result, err := client.GetQuestModelMaster(
    &quest.GetQuestModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        QuestGroupName: pointy.String("quest-group-0001"),
        QuestName: pointy.String("quest-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Quest\Gs2QuestRestClient;
use Gs2\Quest\Request\GetQuestModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getQuestModelMaster(
        (new GetQuestModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withQuestGroupName("quest-group-0001")
            ->withQuestName("quest-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.quest.rest.Gs2QuestRestClient;
import io.gs2.quest.request.GetQuestModelMasterRequest;
import io.gs2.quest.result.GetQuestModelMasterResult;

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

try {
    GetQuestModelMasterResult result = client.getQuestModelMaster(
        new GetQuestModelMasterRequest()
            .withNamespaceName("namespace1")
            .withQuestGroupName("quest-group-0001")
            .withQuestName("quest-0001")
    );
    QuestModelMaster 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.Gs2Quest.Gs2QuestRestClient;
using Gs2.Gs2Quest.Request.GetQuestModelMasterRequest;
using Gs2.Gs2Quest.Result.GetQuestModelMasterResult;

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

AsyncResult<Gs2.Gs2Quest.Result.GetQuestModelMasterResult> asyncResult = null;
yield return client.GetQuestModelMaster(
    new Gs2.Gs2Quest.Request.GetQuestModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithQuestGroupName("quest-group-0001")
        .WithQuestName("quest-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Quest from '@/gs2/quest';

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

try {
    const result = await client.getQuestModelMaster(
        new Gs2Quest.GetQuestModelMasterRequest()
            .withNamespaceName("namespace1")
            .withQuestGroupName("quest-group-0001")
            .withQuestName("quest-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import quest

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

try:
    result = client.get_quest_model_master(
        quest.GetQuestModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_quest_group_name('quest-group-0001')
            .with_quest_name('quest-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('quest')

api_result = client.get_quest_model_master({
    namespaceName='namespace1',
    questGroupName='quest-group-0001',
    questName='quest-0001',
})

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

result = api_result.result
item = result.item;

updateQuestModelMaster

クエストモデルマスターを更新

Request

必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
questGroupNamestring~ 128文字クエストグループモデル名
questNamestring~ 128文字クエスト名
descriptionstring~ 1024文字説明文
metadatastring~ 1024文字メタデータ
contentsList<Contents>クエストの内容
challengePeriodEventIdstring~ 1024文字クエストに挑戦可能な期間を設定した GS2-Schedule イベントGRN
firstCompleteAcquireActionsList<AcquireAction>[]初回クリア報酬アクションリスト
consumeActionsList<ConsumeAction>[]クエストの参加料
failedAcquireActionsList<AcquireAction>[]クエスト失敗時の報酬
premiseQuestNamesList<string>[]クエストに挑戦するためにクリアしておく必要のあるクエスト名

Result

説明
itemQuestModelMaster更新したクエストモデルマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/quest"
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 := quest.Gs2QuestRestClient{
    Session: &session,
}
result, err := client.UpdateQuestModelMaster(
    &quest.UpdateQuestModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        QuestGroupName: pointy.String("quest-group-0001"),
        QuestName: pointy.String("quest-0001"),
        Description: pointy.String("description1"),
        Metadata: nil,
        Contents: []quest.Contents{
            quest.Contents{
                Metadata: pointy.String("normal"),
                CompleteAcquireActions: []quest.AcquireAction{
                    quest.AcquireAction{
                        Action: pointy.String("Gs2Experience:AddExperienceByUserId"),
                        Request: pointy.String("Gs2Experience:AddExperienceByUserId-request1"),
                    },
                },
                Weight: pointy.Int32(1),
            },
        },
        ChallengePeriodEventId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:schedule:schedule-0001:event:event-0002"),
        FirstCompleteAcquireActions: nil,
        ConsumeActions: nil,
        FailedAcquireActions: nil,
        PremiseQuestNames: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Quest\Gs2QuestRestClient;
use Gs2\Quest\Request\UpdateQuestModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateQuestModelMaster(
        (new UpdateQuestModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withQuestGroupName("quest-group-0001")
            ->withQuestName("quest-0001")
            ->withDescription("description1")
            ->withMetadata(null)
            ->withContents([    (new \Gs2\Quest\Model\Contents())
                ->withMetadata("normal")
                ->withCompleteAcquireActions([    (new \Gs2\Quest\Model\AcquireAction())
                ->withAction("Gs2Experience:AddExperienceByUserId")
                ->withRequest("Gs2Experience:AddExperienceByUserId-request1"),
            ])
                ->withWeight(1),
            ])
            ->withChallengePeriodEventId("grn:gs2:ap-northeast-1:YourOwnerId:schedule:schedule-0001:event:event-0002")
            ->withFirstCompleteAcquireActions(null)
            ->withConsumeActions(null)
            ->withFailedAcquireActions(null)
            ->withPremiseQuestNames(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.quest.rest.Gs2QuestRestClient;
import io.gs2.quest.request.UpdateQuestModelMasterRequest;
import io.gs2.quest.result.UpdateQuestModelMasterResult;

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

try {
    UpdateQuestModelMasterResult result = client.updateQuestModelMaster(
        new UpdateQuestModelMasterRequest()
            .withNamespaceName("namespace1")
            .withQuestGroupName("quest-group-0001")
            .withQuestName("quest-0001")
            .withDescription("description1")
            .withMetadata(null)
            .withContents(Arrays.asList(
                new io.gs2.quest.model.Contents()
                    .withMetadata("normal")
                    .withCompleteAcquireActions(Arrays.asList(
                    new io.gs2.quest.model.AcquireAction()
                        .withAction("Gs2Experience:AddExperienceByUserId")
                        .withRequest("Gs2Experience:AddExperienceByUserId-request1")
                ))
                    .withWeight(1)
            ))
            .withChallengePeriodEventId("grn:gs2:ap-northeast-1:YourOwnerId:schedule:schedule-0001:event:event-0002")
            .withFirstCompleteAcquireActions(null)
            .withConsumeActions(null)
            .withFailedAcquireActions(null)
            .withPremiseQuestNames(null)
    );
    QuestModelMaster 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.Gs2Quest.Gs2QuestRestClient;
using Gs2.Gs2Quest.Request.UpdateQuestModelMasterRequest;
using Gs2.Gs2Quest.Result.UpdateQuestModelMasterResult;

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

AsyncResult<Gs2.Gs2Quest.Result.UpdateQuestModelMasterResult> asyncResult = null;
yield return client.UpdateQuestModelMaster(
    new Gs2.Gs2Quest.Request.UpdateQuestModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithQuestGroupName("quest-group-0001")
        .WithQuestName("quest-0001")
        .WithDescription("description1")
        .WithMetadata(null)
        .WithContents(new Gs2.Gs2Quest.Model.Contents[] {
            new Gs2.Gs2Quest.Model.Contents()
                .WithMetadata("normal")
                .WithCompleteAcquireActions(new Gs2.Core.Model.AcquireAction[] {
                new Gs2.Core.Model.AcquireAction()
                    .WithAction("Gs2Experience:AddExperienceByUserId")
                    .WithRequest("Gs2Experience:AddExperienceByUserId-request1")
            })
                .WithWeight(1)
        })
        .WithChallengePeriodEventId("grn:gs2:ap-northeast-1:YourOwnerId:schedule:schedule-0001:event:event-0002")
        .WithFirstCompleteAcquireActions(null)
        .WithConsumeActions(null)
        .WithFailedAcquireActions(null)
        .WithPremiseQuestNames(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Quest from '@/gs2/quest';

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

try {
    const result = await client.updateQuestModelMaster(
        new Gs2Quest.UpdateQuestModelMasterRequest()
            .withNamespaceName("namespace1")
            .withQuestGroupName("quest-group-0001")
            .withQuestName("quest-0001")
            .withDescription("description1")
            .withMetadata(null)
            .withContents([
                new Gs2Quest.model.Contents()
                    .withMetadata("normal")
                    .withCompleteAcquireActions([
                    new Gs2Quest.model.AcquireAction()
                        .withAction("Gs2Experience:AddExperienceByUserId")
                        .withRequest("Gs2Experience:AddExperienceByUserId-request1")
                ])
                    .withWeight(1)
            ])
            .withChallengePeriodEventId("grn:gs2:ap-northeast-1:YourOwnerId:schedule:schedule-0001:event:event-0002")
            .withFirstCompleteAcquireActions(null)
            .withConsumeActions(null)
            .withFailedAcquireActions(null)
            .withPremiseQuestNames(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import quest

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

try:
    result = client.update_quest_model_master(
        quest.UpdateQuestModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_quest_group_name('quest-group-0001')
            .with_quest_name('quest-0001')
            .with_description('description1')
            .with_metadata(None)
            .with_contents([    quest.Contents()
                .with_metadata('normal')
                .with_complete_acquire_actions([    quest.AcquireAction()
                .with_action('Gs2Experience:AddExperienceByUserId')
                .with_request('Gs2Experience:AddExperienceByUserId-request1'),
            ])
                .with_weight(1),
            ])
            .with_challenge_period_event_id('grn:gs2:ap-northeast-1:YourOwnerId:schedule:schedule-0001:event:event-0002')
            .with_first_complete_acquire_actions(None)
            .with_consume_actions(None)
            .with_failed_acquire_actions(None)
            .with_premise_quest_names(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('quest')

api_result = client.update_quest_model_master({
    namespaceName='namespace1',
    questGroupName='quest-group-0001',
    questName='quest-0001',
    description='description1',
    metadata=nil,
    contents={
        {
            metadata='normal',
            completeAcquireActions={
            {
                action='Gs2Experience:AddExperienceByUserId',
                request='Gs2Experience:AddExperienceByUserId-request1',
            }
        },
            weight=1,
        }
    },
    challengePeriodEventId='grn:gs2:ap-northeast-1:YourOwnerId:schedule:schedule-0001:event:event-0002',
    firstCompleteAcquireActions=nil,
    consumeActions=nil,
    failedAcquireActions=nil,
    premiseQuestNames=nil,
})

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

result = api_result.result
item = result.item;

deleteQuestModelMaster

クエストモデルマスターを削除

Request

必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
questGroupNamestring~ 128文字クエストグループモデル名
questNamestring~ 128文字クエスト名

Result

説明
itemQuestModelMaster削除したクエストモデルマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/quest"
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 := quest.Gs2QuestRestClient{
    Session: &session,
}
result, err := client.DeleteQuestModelMaster(
    &quest.DeleteQuestModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        QuestGroupName: pointy.String("quest-group-0001"),
        QuestName: pointy.String("quest-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Quest\Gs2QuestRestClient;
use Gs2\Quest\Request\DeleteQuestModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->deleteQuestModelMaster(
        (new DeleteQuestModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withQuestGroupName("quest-group-0001")
            ->withQuestName("quest-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.quest.rest.Gs2QuestRestClient;
import io.gs2.quest.request.DeleteQuestModelMasterRequest;
import io.gs2.quest.result.DeleteQuestModelMasterResult;

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

try {
    DeleteQuestModelMasterResult result = client.deleteQuestModelMaster(
        new DeleteQuestModelMasterRequest()
            .withNamespaceName("namespace1")
            .withQuestGroupName("quest-group-0001")
            .withQuestName("quest-0001")
    );
    QuestModelMaster 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.Gs2Quest.Gs2QuestRestClient;
using Gs2.Gs2Quest.Request.DeleteQuestModelMasterRequest;
using Gs2.Gs2Quest.Result.DeleteQuestModelMasterResult;

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

AsyncResult<Gs2.Gs2Quest.Result.DeleteQuestModelMasterResult> asyncResult = null;
yield return client.DeleteQuestModelMaster(
    new Gs2.Gs2Quest.Request.DeleteQuestModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithQuestGroupName("quest-group-0001")
        .WithQuestName("quest-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Quest from '@/gs2/quest';

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

try {
    const result = await client.deleteQuestModelMaster(
        new Gs2Quest.DeleteQuestModelMasterRequest()
            .withNamespaceName("namespace1")
            .withQuestGroupName("quest-group-0001")
            .withQuestName("quest-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import quest

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

try:
    result = client.delete_quest_model_master(
        quest.DeleteQuestModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_quest_group_name('quest-group-0001')
            .with_quest_name('quest-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('quest')

api_result = client.delete_quest_model_master({
    namespaceName='namespace1',
    questGroupName='quest-group-0001',
    questName='quest-0001',
})

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

result = api_result.result
item = result.item;

exportMaster

現在有効なクエストマスターのマスターデータをエクスポート

Request

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

Result

説明
itemCurrentQuestMaster現在有効なクエストマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/quest"
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 := quest.Gs2QuestRestClient{
    Session: &session,
}
result, err := client.ExportMaster(
    &quest.ExportMasterRequest {
        NamespaceName: pointy.String("namespace1"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Quest\Gs2QuestRestClient