Filtrar respuestas de la lista

La mayoría de los servicios en Display La API de Video 360 proporciona un método LIST para la recuperación masiva de Google Cloud. Por lo general, estos métodos LIST admiten el filtrado de resultados a través de un Parámetro de consulta filter. Usa este parámetro para optimizar el uso de la API solo para recuperar lo que necesitas.

En esta guía, se muestra cómo usar el parámetro filter de manera eficaz.

Estructura del filtro

Un valor del parámetro filter es una cadena que consta de una o más restricciones. que se puede combinar con los operadores AND o OR, y agruparse mediante paréntesis.

Las restricciones tienen el formato {field} {operator} {value}. Por ejemplo:

entityStatus="ENTITY_STATUS_ACTIVE"

La longitud de la cadena de filtro no puede superar los 500 caracteres. Si la cadena de filtro supera los 500 caracteres, realiza una de las siguientes acciones:

  • Divide la lógica en varias cadenas de filtro y recupera los recursos con solicitudes LIST separadas.
  • Quitar parte de la lógica de la cadena de filtro y usarla y recuperar recursos de forma local.

Une los valores de restricción entre comillas para garantizar que la lógica se aplique correctamente.

Codifica como URL las strings de filtro si realizas llamadas a LIST directamente sin con una biblioteca cliente.

Consulta Lógica entre restricciones para obtener más detalles sobre el formato. tus consultas.

Campos filtrables

Los campos filtrables de cada método LIST se enumeran en el filter del método. descripción del parámetro. En la mayoría de los casos, puedes filtrar por un subconjunto campos estándares. En algunos casos excepcionales, hay campos adicionales que puedes usar solo para filtrar.

Cada campo de la descripción del parámetro admite al menos uno de los siguientes operadores comparables:

Operadores comparables
EQUALS (=) El valor del campo de recurso es igual al valor dado.

Ejemplo: entityStatus="ENTITY_STATUS_ACTIVE"

LESS THAN OR EQUAL TO (<=) El valor del campo de recurso es menor o igual que el valor especificado. Uso frecuente cuando se compara una fecha o una fecha y hora.

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

GREATER THAN OR EQUAL TO (>=) El valor del campo de recurso es mayor o igual que el valor especificado. Uso frecuente cuando se compara una fecha o una fecha y hora.

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

HAS (:) El valor del campo del recurso contiene el valor especificado. Si el campo de recursos es una string, verificará si el valor dado es una subcadena existente. Si el botón resource es un array, verificará si el array contiene el valor especificado valor.

Ejemplo: lineItemIds:"1234"

Si no se especifican operadores para el campo en la descripción del parámetro, solo puedes usar el operador EQUALS (=). Algunos campos admiten varios operadores.

Algunos campos filtrables, como los de fecha y hora, requieren que un valor comparable para que siga un formato específico. El formato se especifica junto a el campo en la descripción del parámetro filter.

Lógica entre restricciones

Puedes combinar varias restricciones para limitar o expandir la respuesta de tu LIST solicitud.

Por lo general, puedes combinar varias restricciones con AND y OR. operadores lógicos. Cada método LIST especifica qué operadores admite. Algunos métodos solo admiten el uso de una sola restricción en el parámetro filter.

Ten en cuenta las siguientes restricciones cuando compiles strings de filtro con AND o OR:

  • AND debe usarse entre restricciones o grupos de restricciones que filtrar diferentes campos o filtrar el mismo campo de manera diferente. Estas son algunos ejemplos:
    • 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")
  • Se debe usar OR entre restricciones individuales que filtran por la misma . A continuación, te mostramos un ejemplo:
    • (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED") AND (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" OR lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT")
  • No puedes usar OR para combinar dos grupos de restricciones. Usar varios Solicitudes LIST con diferentes valores de filtro. Por ejemplo, usa el a continuación de solicitudes LIST separadas:

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

    No uses el operador OR para combinarlos:

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

  • Los paréntesis pueden estar implícitos si no se usan para agrupar restricciones en una la cadena de filtro. Por ejemplo, la siguiente string de filtro:

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

    se interpreta como:

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