使用 GoogleAdsService 回報串流

如要擷取 Google Ads API 實體和報表資料,請使用下列任一方法:

這兩種方法的主要差異如下:

GoogleAdsService.SearchStream GoogleAdsService.Search
適用於正式版程式碼
服務 GoogleAdsService GoogleAdsService
情境 擷取物件和報表 擷取物件和報表
回應 串流 GoogleAdsRow 個物件 GoogleAdsRow 個物件的頁面
回應的欄位 只有查詢中指定的項目 只有查詢中指定的項目
每日上限 根據存取層級設定每日上限 根據存取層級設定每日上限

Search 可以傳送多個分頁要求來下載完整報表,但 SearchStream 只會傳送單一要求,並與 Google Ads API 建立持續連線,不受報表大小影響。

如果是 SearchStream,資料封包會立即開始下載,整個結果會快取在資料緩衝區中。您的程式碼可以開始讀取緩衝資料,不必等待整個串流完成。

視應用程式而定,SearchStream 可省去要求 Search 回應中每個網頁所需的網路往返時間,因此與分頁功能相比,SearchStream 可提升效能,尤其是在處理較大的報表時。

範例

這個範例會查看包含 100,000 個資料列的報表。下表列出這兩種方法在會計上的差異。

SearchStream 搜尋
頁面大小 不適用 每頁 10,000 列
API 要求數 1 項要求 10 項要求
API 回應數量 1 個連續串流 10 則回覆

成效因素

在大多數情況下,我們建議使用 SearchStream,而非 Search,原因如下:

  • 單頁報表 (少於 10,000 列):這兩種方法之間的效能差異不大。

  • 多頁面報表:通常 SearchStream 的速度較快,因為可避免多次往返,且從磁碟快取讀取或寫入資料的影響較小。

頻率限制

兩種方法的每日上限都必須遵守開發人員權杖的標準限制和存取層級。無論結果是否分頁或串流,單一查詢或報表都會計為一項作業。