使用 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 的速度較快,因為可避免多次往返,且從磁碟快取讀取或寫入資料的影響較小。

頻率限制

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