如要擷取 Google Ads API 實體和報表資料,請使用下列任一方法:
這兩種方法的主要差異如下:
GoogleAdsService.SearchStream | GoogleAdsService.Search | |
---|---|---|
適用於正式版程式碼 | 是 | 是 |
服務 | GoogleAdsService |
GoogleAdsService |
情境 | 擷取物件和報表 | 擷取物件和報表 |
回應 | 串流 GoogleAdsRow 個物件 |
GoogleAdsRow 個物件的頁面 |
回應的欄位 | 只有查詢中指定的項目 | 只有查詢中指定的項目 |
每日上限 | 根據存取層級設定每日上限 | 根據存取層級設定每日上限 |
SearchStream
對Search
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
的速度較快,因為可避免多次往返,且從磁碟快取讀取或寫入資料的影響較小。
頻率限制
兩種方法的每日上限都必須遵守開發人員權杖的標準限制和存取層級。無論結果是否分頁或串流,單一查詢或報表都會計為一項作業。