如要擷取 Google Ads API 實體和報表資料,請使用下列任一方法:
這兩種方法的主要差異如下:
| GoogleAdsService.SearchStream | GoogleAdsService.Search | |
|---|---|---|
| 適合用於正式版程式碼 | 是 | 是 |
| 服務 | GoogleAdsService |
GoogleAdsService |
| 情境 | 擷取物件和報表 | 擷取物件和報表 |
| 回應 | 串流 GoogleAdsRow 個物件 |
GoogleAdsRow 個物件的頁面 |
| 回應的欄位 | 僅限查詢中指定的帳戶 | 僅限查詢中指定的帳戶 |
| 每日上限 | 根據存取層級設定每日上限 | 根據存取層級設定每日上限 |
SearchStream對上Search
Search 可以傳送多個分頁要求來下載完整報表,但 SearchStream 只會傳送單一要求,並與 Google Ads API 建立持續連線,不受報表大小影響。
如果是 SearchStream,系統會立即開始下載資料封包,並將整個結果快取在資料緩衝區中。您的程式碼可以開始讀取緩衝資料,不必等待整個串流完成。
由於不需要網路往返時間來要求 Search 回應的每個個別頁面,因此 SearchStream 可提供比分頁功能更優異的效能,特別是較大的報表。
範例
這個範例會查看包含 100,000 個資料列的報表。下表列出這兩種方法在會計上的差異。
| SearchStream | 搜尋 | |
|---|---|---|
| 頁面大小 | 不適用 | 每頁 10,000 列 |
| API 要求次數 | 1 項要求 | 10 項要求 |
| API 回應數 | 1 個連續串流 | 10 則回覆 |
影響效能的因素
在大多數情況下,我們建議使用 SearchStream,而非 Search,原因如下:
單頁報表 (少於 10,000 列):兩種方法之間的效能差異不大。
多頁面報表:通常
SearchStream速度較快,因為可避免多次往返,且從磁碟快取讀取或寫入資料的影響較小。
頻率限制
兩種方法的每日上限都遵循開發人員權杖的標準限制和存取層級。無論結果是否分頁或串流,單一查詢或報表都會計為一項作業。