POST (/serviceconfigs/{scid}/sessiontemplates/{sessionTemplateName}/batch)
複数の Xbox ユーザー ID に対するバッチ クエリを作成します。
重要:
このメソッドは、2015 Multiplayer によって使用され、そのバージョン以降のマルチプレイヤーにのみ適用されます。 これは 104/105 以降のテンプレート コントラクトで使用するためのもので、すべての要求でヘッダー要素 X-Xbl-Contract-Version: に 104/105 以降を指定する必要があります。
解説
この HTTP/REST メソッドは、セッション テンプレート レベルで、複数の Xbox ユーザー ID に対するバッチ クエリを作成します。 このメソッドは、Microsoft.Xbox.Services.Multiplayer.MultiplayerService.GetSessionsForUsersFilterAsync でラップすることができます。
2015 Multiplayer では、すべてのクエリが同じで、xuid クエリ文字列パラメーターで表現する際に扱う Xbox ユーザー ID (XUID) が異なる場合は、一度の呼び出しにまとめることができます。 クエリ文字列パラメーターと応答は、通常のクエリやバッチ クエリと同じであることに注意してください。
バッチ クエリの場合、各 XUID に属するセッションは、要求内で xuid パラメーターが現れるのと同じ順序で応答に書き込まれます。 一致する xuid ごとに 1 度、応答内に同じセッションが複数回出現する可能性があります。
URI パラメーター
パラメーター | 型 | 説明 |
---|---|---|
scid | GUID | サービス構成 ID (SCID)。 セッション識別子の 1 番目の部分です。 |
sessionTemplateName | 文字列 | セッション テンプレートの現在のインスタンスの名前です。 セッション識別子の 2 番目の部分です。 |
クエリ文字列パラメーター
クエリは、次の表に示すクエリ文字列パラメーターを使用して変更できます。
パラメーター | Type | 説明 |
---|---|---|
キーワード | 文字列 | 取得される場合にセッションまたはテンプレート内に含まれている必要があるキーワード (例: "foo")。 |
xuid | 64 ビット符号なし整数 | クエリに含めるセッションの Xbox ユーザー ID (例: "123")。 既定では、結果に含まれるユーザーはセッション内でアクティブである必要があります。 |
reservations | ブール値 | ユーザーが予約済みプレイヤーとして設定されているが、まだ参加しておらずアクティブ プレイヤーになっていないセッションを含める場合は true。 このパラメーターは、自分自身のセッションをクエリするとき、または特定ユーザーのセッションをサーバー間でクエリするときにのみ使用されます。 |
inactive | ブール値 | ユーザーが受け入れたがアクティブにプレイしていないセッションを含める場合は true。 ユーザーが "準備完了" しているが "アクティブ" ではないセッションは非アクティブとしてカウントされます。 |
private | ブール値 | プライベート セッションを含める場合は true。 このパラメーターは、自分自身のセッションをクエリするとき、または特定ユーザーのセッションをサーバー間でクエリするときにのみ使用されます。 |
visibility | 文字列 | セッションの表示状態。 設定できる値は MultiplayerSessionVisibility に定義されています。 このパラメーターを "open" に設定した場合、そのクエリには開いているセッションのみが含まれます。 "private" に設定する場合は、private パラメーターを true に設定する必要があります。 |
version | 32 ビット符号付き整数 | 含める必要があるセッションの最大バージョン。 たとえば、値が 2 の場合、セッションのメジャー バージョンが 2 以下のセッションのみを含めることを指定します。 バージョン番号は、要求のコントラクト バージョンを 100 で割った余り以下でなければなりません。 |
take | 32 ビット符号付き整数 | 取得するセッションの最大数。 この数は、0 から 100 までの範囲になければなりません。 |
private または reservations を true に設定するには、セッションへのサーバー レベルのアクセスが必要です。 または、これらの設定には、呼び出し元の XUID クレームが URI の XUID フィルターと一致することが必要です。 それ以外の場合、そのようなセッションが実際に存在するかどうかにかかわらず、HTTP/403 ステータス コードが返されます。
HTTP ステータス コード
サービスは、MPSD に適用される HTTP ステータス コードを返します。
リクエストの本文
{ "xuids": [ "1234", "5678" ] }
応答の本文
このメソッドから返されるのはセッション参照の JSON 配列で、一部のセッション データはインラインで取り込まれます。
{
"results": [ {
"xuid": "9876", // If the session was found from a xuid, that xuid.
"startTime": "2009-06-15T13:45:30.0900000Z",
"sessionRef": {
"scid": "foo",
"templateName": "bar",
"name": "session-seven"
},
"accepted": 4, // Approximate number of non-reserved members.
"status": "active", // or "reserved" or "inactive". This is the state of the user in the session, not the session itself. Only present if the session was found using a xuid.
"visibility": "open", // or "private", "visible", or "full"
"joinRestriction": "local", // or "followed". Only present if 'visibility' is "open" or "full" and the session has a join restriction.
"myTurn": true, // Not present is the same as 'false'. Only present if the session was found using a xuid.
"keywords": [ "one", "two" ]
}
]
}
関連項目
親
/serviceconfigs/{scid}/sessiontemplates/{sessionTemplateName}/batch