过滤列表响应

展示广告网络中的大多数服务,Video 360 API 提供 LIST 方法,用于批量检索 资源。这些 LIST 方法通常支持通过 filter 查询参数。使用此参数来优化 API 的使用 来检索所需内容

本指南介绍了如何有效使用 filter 参数。

过滤器结构

filter 参数值是一个字符串,包含一个或多个限制 可与 ANDOR 运算符结合使用,并使用 括号。

限制的形式为 {field} {operator} {value}。示例如下:

entityStatus="ENTITY_STATUS_ACTIVE"

过滤条件字符串长度不得超过 500 个字符。如果您的过滤条件字符串 超过 500 个字符,请执行以下操作之一:

  • 将逻辑拆分为多个过滤器字符串,并使用 单独的 LIST 请求。
  • 删除过滤器字符串中的部分逻辑,并使用该逻辑来过滤 检索资源

将限制值用英文引号引起来,以确保正确应用逻辑。

如果您要直接进行 LIST 调用而不对过滤器字符串进行网址编码 使用客户端库

如需详细了解格式设置,请参阅限制之间的逻辑。 您的查询。

可过滤的字段

每个 LIST 方法的可过滤字段都会列在相应方法的 filter 中 参数说明。在大多数情况下,您可以按资源的子集过滤 标准字段。在极少数情况下,您可以使用一些其他字段 仅用于过滤。

参数说明中的每个字段至少支持下列其中一项 可比较的运算符:

类似运营商
EQUALS (=) 资源字段值等于指定值。

示例:entityStatus="ENTITY_STATUS_ACTIVE"

LESS THAN OR EQUAL TO (<=) 资源字段值小于或等于指定值。经常使用 比较日期或日期时间时的值。

示例:updateTime<="2023-04-01T12:00:00Z"

GREATER THAN OR EQUAL TO (>=) 资源字段值大于或等于指定值。经常使用 比较日期或日期时间时的值。

示例:updateTime>="2023-03-01T12:00:00Z"

HAS (:) 资源字段值包含指定值。如果资源字段是 字符串,它将检查给定值是否为现有的子字符串。如果 resource 字段是一个数组,它会检查该数组是否包含指定的 值。

示例:lineItemIds:"1234"

如果没有为参数说明中的字段指定运算符, 只能使用 EQUALS (=) 运算符。某些字段支持多个运算符。

一些可过滤字段(如日期和时间字段)要求输入 以便遵循特定格式。格式会在 filter 参数说明中的字段。

限制之间的逻辑

你可以结合使用多项限制,以缩小或扩大回答范围, LIST 请求。

您通常可以将多项限制与 ANDOR 结合使用。 逻辑运算符。每个 LIST 方法都会指定其支持的运算符。 某些方法仅支持在 filter 参数中使用单个限制。

使用 AND 构建过滤条件字符串时,请考虑以下限制 或 OR 逻辑运算符:

  • AND 必须在限制或限制组之间使用, 或者以不同方式过滤同一字段。以下是 一些示例: <ph type="x-smartling-placeholder">
      </ph>
    • updateTime>="2023-03-01T12:00:00Z" AND entityStatus="ENTITY_STATUS_ACTIVE"
    • updateTime>="2023-03-01T12:00:00Z" AND updateTime<="2023-04-01T12:00:00Z" AND (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED")
  • OR 必须在按相同过滤条件的各个限制之间使用 字段。示例如下: <ph type="x-smartling-placeholder">
      </ph>
    • (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED") AND (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" OR lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT")
  • 您不能使用 OR 来组合两组限制。使用多个 请改为使用具有不同过滤条件值的 LIST 请求。例如,使用 以下单独的 LIST 请求:

    • (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" AND insertionOrderId="123")
    • (lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT" AND insertionOrderId="456")

    请勿使用 OR 运算符合并它们:

    (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" AND insertionOrderId="123") OR (lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT" AND insertionOrderId="456")

  • 如果您不使用圆括号将 过滤条件字符串。例如,以下过滤条件字符串:

    updateTime>="2023-03-01T12:00:00Z" AND entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED" OR entityStatus="ENTITY_STATUS_DRAFT"

    会被解释为:

    updateTime>="2023-03-01T12:00:00Z" AND (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED" OR entityStatus="ENTITY_STATUS_DRAFT")