Filtra le risposte dell'elenco

La maggior parte dei servizi nella Rete Display e L'API Video 360 fornisce un metodo LIST per il recupero collettivo dei Google Cloud. Questi metodi di LIST in genere supportano l'applicazione di filtri ai risultati tramite una Parametro di query filter. Utilizza questo parametro per ottimizzare l'utilizzo dell'API solo recuperare ciò di cui hai bisogno.

Questa guida mostra come utilizzare il parametro filter in modo efficace.

Struttura del filtro

Un valore parametro filter è una stringa composta da una o più restrizioni che possono essere combinati con gli operatori AND o OR e raggruppati utilizzando le parentesi.

Le limitazioni sono nel formato {field} {operator} {value}. Ecco un esempio:

entityStatus="ENTITY_STATUS_ACTIVE"

La stringa del filtro non può superare i 500 caratteri. Se la stringa di filtro supera i 500 caratteri, esegui una delle seguenti operazioni:

  • suddividi la logica in più stringhe di filtro e recupera le risorse utilizzando richieste LIST separate.
  • Rimuovi parte della logica dalla stringa di filtro e utilizzala per filtrare i ha recuperato le risorse localmente.

Aggrega i valori delle restrizioni tra virgolette per garantire che la logica venga applicata correttamente.

Codifica l'URL delle stringhe di filtro se stai effettuando chiamate a LIST direttamente senza utilizzando una libreria client.

Per ulteriori dettagli sulla formattazione, consulta Logica tra le limitazioni le tue query.

Campi filtrabili

I campi filtrabili di ogni metodo LIST sono elencati nella sezione filter del metodo la descrizione del parametro. Nella maggior parte dei casi, puoi filtrare in base a un sottoinsieme del campi standard. In alcuni rari casi, puoi utilizzare campi aggiuntivi solo per l'applicazione di filtri.

Ogni campo della descrizione del parametro supporta almeno uno dei seguenti elementi: operatori analoghi:

Operatori paragonabili
EQUALS (=) Il valore del campo della risorsa è uguale al valore specificato.

Esempio: entityStatus="ENTITY_STATUS_ACTIVE"

LESS THAN OR EQUAL TO (<=) Il valore del campo risorsa è inferiore o uguale al valore specificato. Spesso utilizzati quando confronti una data o un'ora.

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

GREATER THAN OR EQUAL TO (>=) Il valore del campo risorsa è maggiore o uguale al valore specificato. Spesso utilizzati quando confronti una data o un'ora.

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

HAS (:) Il valore del campo risorsa contiene il valore specificato. Se il campo della risorsa è , verifica se il valore specificato è una sottostringa esistente. Se è un array, verifica se l'array contiene valore.

Esempio: lineItemIds:"1234"

Se non viene specificato nessun operatore per il campo nella descrizione del parametro, può usare solo l'operatore EQUALS (=). Alcuni campi supportano più operatori.

Alcuni campi filtrabili, ad esempio quelli relativi a date e orari, richiedono valore comparabile per seguire un formato specifico. Il formato è specificato accanto a il campo nella descrizione del parametro filter.

Logica tra restrizioni

Puoi combinare più restrizioni per restringere o espandere la risposta dal tuo Richiesta di LIST.

In genere, è possibile combinare più limitazioni con AND e OR. operatori logici. Ogni metodo LIST specifica gli operatori supportati. Alcuni metodi supportano solo l'utilizzo di una singola restrizione nel parametro filter.

Considera le seguenti limitazioni quando crei stringhe di filtri con AND o OR:

  • AND deve essere utilizzato tra restrizioni o gruppi di limitazioni, che filtrano campi diversi o lo stesso campo in modo diverso. Ecco alcuni esempi:
    • 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 deve essere utilizzato tra singole limitazioni che filtrano in base allo stesso . Ecco un esempio:
    • (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED") AND (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" OR lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT")
  • Non puoi utilizzare OR per combinare due gruppi di limitazioni. Utilizza più LIST richieste con valori di filtro diversi. Ad esempio, utilizza seguenti richieste LIST separate:

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

    Non utilizzare l'operatore OR per combinarli:

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

  • Le parentesi potrebbero essere implicite se non vengono utilizzate per le limitazioni di gruppo in una stringa di filtro. Ad esempio, la seguente stringa di filtro:

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

    viene interpretata come:

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