篩選清單回應

Display &Video 360 中大多數的服務,Video 360 API 提供 LIST 方法,可用於大量擷取 再複習一下,機構節點 是所有 Google Cloud Platform 資源的根節點這些 LIST 方法通常支援透過 filter 查詢參數。只有在需要時,才能使用這個參數最佳化 API 使用方式 輕鬆擷取所需資料

本指南將說明如何有效使用 filter 參數。

篩選器結構

filter 參數值是字串,包含一或多項限制 可與 ANDOR 運算子合併使用,以及使用

限制的格式為 {field} {operator} {value}。以下將舉例說明:

entityStatus="ENTITY_STATUS_ACTIVE"

篩選字串長度不得超過 500 個半形字元。如果您的篩選字串 超過 500 個字元,請執行下列任一動作:

  • 將邏輯分割為多個篩選器字串,並使用 不同的 LIST 要求。
  • 移除篩選器字串中的部分邏輯,然後使用該邏輯篩選 已擷取到本機的資源

以引號括住限制值,確保正確套用邏輯。

如要直接呼叫 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必須用於不同的限制條件或限制群組, 篩選不同的欄位,或以不同方式篩選同一個欄位以下 範例如下:
    • 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 必須與以相同方式篩選的個別限制之間 ] 欄位。範例如下:
    • (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")