请查看服务到服务 API 的先决条件。如果产品未针对你的身份验证类型正确配置,调用可能成功但不返回任何结果。
根据你的需求选择合适的 Collections Query API
有两个版本的 Collections Query:b2bLicensePreview (v8) 和 publisherQuery (v9)。在大多数情况下,请使用 publisherQuery,因为它具有精简的请求参数并支持 XBOX Game Pass 状态。当你需要 LegacyProductId 支持等旧行为时,请使用 b2bLicensePreview。
尽管消费功能没有对应的 v9 URI,你可以将 publisherQuery 与 v8 consume URI 一起使用,不会出现问题。
理解响应中的满足权益
用户可以直接(购买/兑换)或间接(捆绑包/订阅)获得产品的权益。如果权益是间接的,satisfiedByProductIds 数组包含权益来源的 ProductId。
示例:用户购买了游戏的豪华版捆绑包。调用 Query API 会返回结果中的游戏产品和捆绑包中包含的任何产品。这些项目的 satisfiedByProductIds 列表中都包含豪华版捆绑包的 ProductID。
理解响应中的重复项目
当用户有多个权益来源时,你可能会看到具有相同 ProductId/SKU 的多个项目。差异通常出现在acquisitionType、日期和 satisfiedByProductIds 等字段中。使用 excludeDuplicates 为 true 可将多个权益来源合并为一个最直接所有权权益的项目,按以下顺序:
- 直接购买/兑换码
- 由直接购买的捆绑包满足
- 由订阅满足
- 由促销购买满足(例如:Games With Gold)
Active 和 Expired 订阅期),则仅返回一项(即使 excludeDuplicates 关闭),使用以下状态优先级:
ActiveInvalid(如果有多个 invalid 权益,则返回最近失效的项目)Revoked
示例
用户购买了游戏 A 和附加内容 B,之后又购买了包含附加内容 B 的季票。响应中可能包含附加内容 B 的两个条目:直接购买和来自季票的满足权益。如果excludeDuplicates 为 true,则仅返回直接购买的条目。
