辅助 EDS API

有一些 Entertainment Discovery Services (EDS) API 不直接提供有关内容的信息,但提供有关如何使用服务或帮助驱动常见 UI 模型的一般信息。

辅助 API

API URI 说明
API 参数值 /{locale}/metadata 可以在服务调用中使用的可能的参数值的枚举
组合内容分级生成器 /{locale}/contentRating 创建可在其他 API 中用于筛选掉潜在的令人反感的内容或色情内容的值。 请参见下方了解更多信息。
组合字段名称生成器 /{locale}/fields 创建可以在详细信息 API 中用于控制返回哪些字段的值。 请参见下方了解更多信息。

API 参数值

此 API 描述可与服务一起使用的参数。 返回的信息可供客户端 UI 使用,因为本地化文本中附带每个参数。

以下 API 不接受任何查询参数。

API URI 说明
类型 /{locale}/metadata/mediaGroups 媒体组的完整列表
每个媒体组的媒体项类型 /{locale}/metadata/mediaGroups/{mediaItemTypeGroup}/mediaItemTypes 指定媒体组中包含的媒体项类型的列表。
所有媒体项类型 /{locale}/metadata/mediaItemTypes 媒体项类型的完整列表
每个媒体项类型的字段 /{locale}/metadata/mediaItemTypes/{mediaItemType}/fields 单个媒体项类型中的字段的列表
查询优化器 /{locale}/metadata/mediaItemTypes/{mediaItemType}/queryRefiners 指定媒体项类型支持的查询优化器的列表
所有查询优化器值 /{locale}/metadata/mediaItemTypes/{mediaItemType}/queryRefiners/{queryRefiner} 指定媒体项类型的指定查询优化器的值
所有查询优化器子值 /{locale}/metadata/mediaItemTypes/{mediaItemType}/queryRefiners/{queryRefiner}/subQueryRefinerValues 指定查询优化器值的子值的列表(例如,“指定流派中的子流派”)。 查询优化器值作为名为“queryRefinerValue”的查询字符串参数传入,这样可以允许传递包含 URI 资源中禁止的字符的查询优化器值。
排序 /{locale}/metadata/mediaItemTypes/{mediaItemType}/sortOrders 指定媒体项类型的排序顺序的列表

组合内容分级生成器

对允许孩子看到的内容执行家长控制是一项复杂的任务。 不仅每个媒体项类型都有自己的分级系统,而且这些分级系统可能因国家/地区和国家/地区而异。 这意味着,有几个不同的数据片段需要指定,以正确筛选所有项目。

不是在所有 API 调用中指定所有参数,此 API 将生成传入其他 API 中的 combinedContentRating 参数的值,而且仍然传送相同信息。 这是为了让 API 更方便使用和维护,因为传入此 API 的几个参数将折叠为其他 API 的一个可重用的值。

虽然此 API 返回的精确值最终可能会更改,但更改应该不会非常频繁(如两次 EDS 发布之间),因此可以在很长一段时间内缓存。 如果传入的值无效,接受 combinedContentRating 参数的任何 API 都将给出一条有意义的错误消息,这指示调用方只需要再次调用此 API 来获取更新值。 如果 API 接受 combinedContentRating 参数,但未提供此参数,则不会根据家长控制筛选内容

注意:
这并不意味着只返回“安全”内容 - 这意味着将返回所有内容,包括潜在的色情内容)。

组合字段名称

默认情况下,EDS API 为每个项目返回一组很少(最少)的字段:

  • 媒体项类型
  • 媒体组
  • Id
  • 名称

为获取更多信息,API 接受指定哪些其他数据片段应返回的“字段”参数。 因为有很多可能的字段,为每个 API 调用指定完整名称会使请求大大膨胀。 而名称可以传入此 API,这将生成要小很多的值,其可以传入其他 API。

对于接受此参数的任何 API,提供的值必须是所有指定媒体项类型中的所有字段的超集。 不能为不同媒体项类型指定不同的字段集。 但是,如果某个字段适用于一个媒体项类型,但不适用于另一个,它只会显示在数据所在的媒体项类型中(例如,如果“AvatarBodyType”包含在组合字段名称 API 的调用中,则仅 AvatarItems 将包含此字段)。

从此 API 返回的值是高度可缓存的 - 实际上,除非在两次 EDS 部署之间,否则它们应该不会更改。 如果需要缓存,建议缓存持续的时间不要超过用户的会话时间。

除了接受实际字段名称外,此 API 还会作为有效值接受“所有”。 这将生成一个包含可以指定的每个字段的值。 “所有”值可能仅用于开发、调试和测试目的。

另请参阅

父级

其他参考

补充信息

市场 URI