POST /users/xuid(xuid)/lists/PINS/{listname}/ContainsItems
确定列表是否包含一组项目(由 itemId 指定),而不检索整个列表。
这些 URI 的域是 eplists.xboxlive.com
。
备注
此终结点允许调用方确定指定列表中是否存在一个或多个项目,而无需实际获取列表并搜索列表本身。 项目集由 itemId(或 provider/providerId 组合)标识,返回数据是使用布尔值 true 或 false(指示列表是否包含每个项目)传入的数据。
URI 参数
参数 | 类型 | 说明 |
---|---|---|
XUID | 字符串 | 用户的 XUID。 |
listname | 字符串 | 要操控的列表的名称。 |
查询字符串参数
查询参数不受支持。
请求正文
{
"Items":
[{"ItemId": "ed591a0c-dde3-563f-99af-530278a3c402",
"ProviderId": null,
"Provider": null
}]
}
HTTP 状态代码
服务返回此部分中的状态代码之一,以响应使用此方法对此资源发出的请求。 对于用于 Xbox Live 服务的标准 HTTP 状态代码的完整列表,请参阅标准 HTTP 状态代码。
代码 | 原因短语 | 说明 |
---|---|---|
200 | 确定 | 已成功完成请求。 响应正文应包含请求的资源(对于 GET)。 POST 和 PUT 请求将收到最新的列表元数据(列表版本、计数等)。 |
201 | Created | 新列表已创建。 在最初插入到列表时返回。 响应包含列表中的最新元数据,位置标头包含列表的 URI。 |
304 | 未修改 | 在 GET 上返回。 指示客户端具有最新版本的列表。 服务将 If-Match 标头中的值与列表版本进行比较。 如果相等,304 将返回,且不包含任何数据。 |
400 | 无效请求 | 请求格式错误。 可能是无效值或者 URI 或查询字符串参数的类型。 也可能是缺少的必需参数或数据值的结果,或指示缺少或无效 API 版本的请求。 请参阅 X-XBL-Contract-Version 标头。 |
401 | 未授权 | 请求需要用户身份验证。 |
403 | 已禁止 | 用户或服务不允许此请求。 |
404 | 未找到 | 调用方没有访问资源的权限。 这指示未创建此类列表。 |
412 | 前置条件失败 | 指示列表的版本已发生更改,并且修改请求已失败。 修改请求是插入、更新或删除。 服务检查列表版本的 If-Match 标头。 如果与列表的当前版本不一致,操作将失败,并将返回此信息以及当前的列表元数据(其中包括当前版本)。 |
500 | 内部服务器错误 | 服务由于服务器端错误拒绝请求。 |
501 | 未实现 | 调用方请求了未在服务器上实现的 URI。 (当前仅在为不允许列出的列表名称发出请求时使用。) |
503 | 服务不可用 | 服务器拒绝请求,通常由于超载。 延迟后(参阅 Retry-after 标头),可以重试请求。 |
必需请求标头
标头 | 说明 |
---|---|
授权 | 包含用于对请求进行身份验证和授权的 STS 令牌。 必须是来自 XSTS 服务的令牌,作为声明之一包含 XUID。 |
X-XBL-Contract-Version | 指定正在请求哪个 API 版本(正整数)。 “固定”支持版本 2。 如果缺少此标头或值不受支持,服务将在状态描述中返回“400 - 无效的请求”以及“协定版本标头不受支持或缺失”。 |
Content-Type | 指定请求/响应正文的内容是否是 json 或 xml 格式。 支持的值为“application/json”和“application/xml” |
If-Match | 在发起修改请求时,此标头必须包含列表的当前版本号。 修改请求使用 PUT、POST 或 DELETE 谓词。 如果“If-Match”标头中的版本与列表的当前版本不一致,请求将被拒绝并显示“HTTP 412 - 前置条件失败”返回代码。 (可选)另外还可用于 GET,如果显示的版本和传入的版本与当前的列表版本一致,将不会返回列表数据和“HTTP 304 – 未修改”代码。 |
响应正文
如果调用成功,将返回项目列表,以及指定项目是否在列表中的每个项目的布尔值。
示例响应
{
"ContainedItems":
[{"Contained": "true",
"Item":
{"ItemId": "ed591a0c-dde3-563f-99af-530278a3c402",
"ProviderId": null,
"Provider": null
}
}]
}