POST (/serviceconfigs/{scid}/batch)
为服务配置的多个 Xbox 用户 ID 创建批处理查询。
重要提示:
此方法由 2015 多人游戏使用,仅适用于该多人游戏版本及更高版本。 它适用于模板协定 104/105 或更高版本,并且每个请求都需要一个 X-Xbl-Contract-Version 104/105 或更高版本的标头元素。
备注
此 HTTP/REST 方法在服务配置 ID (SCID) 级别为多个 Xbox 用户 ID 创建批处理查询。 此方法可由 Microsoft.Xbox.Services.Multiplayer.MultiplayerService.GetSessionsForUsersFilterAsync 包装。
对于 2015 多人游戏,如果所有查询都相同,但处理不同的 Xbox 用户 ID (XUID)(如 xuid 查询字符串参数中所示),则可将多个查询组合到一个调用中。 请注意,对于常规查询和批处理查询,查询字符串参数和响应是相同的。
对于批处理查询,属于每个 XUID 的会话将按照与请求中显示的 xuid 参数相同的顺序写入响应。 同一会话可能会在响应中多次出现,对于匹配的每个 xuid 都会出现一次。
URI 参数
参数 | 类型 | 说明 |
---|---|---|
scid | GUID | 服务配置标识符 (SCID)。 会话标识符的第 1 部分。 |
查询字符串参数
可使用下一个表中的查询字符串参数修改查询。
参数 | Type | Description |
---|---|---|
keyword | 字符串 | 一个关键字(例如“foo”),如果要检索会话或模板,必须在会话或模板中找到该关键字。 |
xuid | 64 位无符号整数 | 要包含在查询中的会话的 Xbox 用户 ID,例如“123”。 默认情况下,用户必须在要包括的会话中处于活动状态。 |
reservations | 布尔值 | 如果为 true,则包括将用户设置为保留玩家但并未加入成为活动玩家的会话。 仅在查询你自己的会话,或对特定用户的会话进行服务器到服务器查询时才使用此参数。 |
inactive | 布尔值 | 如果为 true,则包括用户已接受但没有在其中主动进行游戏的会话。 用户处于“就绪”状态但未“活动”的会话算作非活动会话。 |
private | 布尔值 | 如果为 true,则包括专用会话。 仅在查询你自己的会话,或对特定用户的会话进行服务器到服务器查询时才使用此参数。 |
visibility | 字符串 | 会话的可见性状态。 可能值由 MultiplayerSessionVisibility 定义。 如果此参数设置为“open”,查询应仅包括打开的会话。 如果设置为“private”,则 private 参数也必须设置为 true。 |
版本 | 32 位有符号整数 | 应包括的最大会话版本。 例如,值为 2 表明应只包括主会话版本为 2 或更低的会话。 版本号必须小于或等于请求的协定版本 mod 100。 |
take | 32 位有符号整数 | 要检索的最大会话数。 此数字必须在 0 到 100 之间。 |
将 private 或 reservations 设置为 true 需要拥有对会话的服务器级访问权限。 或者,这些设置需要调用方的 XUID 声明以匹配 URI 中的 XUID 筛选器。 否则,返回 HTTP/403 状态代码(无论是否确实存在任何此类会话)。
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" ]
}
]
}