如要擷取 Google Ads API 實體和報表資料,您可以使用下列其中一種方法:
以下是這兩種方法的概略差異:
GoogleAdsService.SearchStream | GoogleAdsService.Search | |
---|---|---|
適合正式版程式碼 | 是 | 是 |
服務 | GoogleAdsService |
GoogleAdsService |
情境 | 正在擷取物件和報表 | 正在擷取物件和報表 |
回應 | GoogleAdsRow 物件的串流 |
GoogleAdsRow 物件的頁面 |
回應欄位 | 僅限查詢中指定的項目 | 僅限查詢中指定的項目 |
每日上限 | 依據存取層級設定的每日上限 | 依據存取層級設定的每日上限 |
搜尋廣告與搜尋廣告的比較
雖然 Search
可以傳送多個分頁要求來下載整份報表,但 SearchStream
會傳送單一要求,並與 Google Ads API 建立永久連線,無論報表大小為何。
如果是 SearchStream
,資料封包會立即開始下載,並將整個結果快取至資料緩衝區。您的程式碼不必等待整個串流完成,就能開始讀取緩衝的資料。
根據您的應用程式,您可以消除要求 Search
回應中個別頁面所需的往返網路時間,進而改善分頁效能,特別是在大型報表上。SearchStream
範例
例如,您可以製作含 100,000
列的報表。下表詳細列出這兩種方法的會計差異。
SearchStream | 搜尋 | |
---|---|---|
頁面大小 | 不適用 | 每頁 10,000 列 |
API 要求數量 | 1 項要求 | 10 個要求 |
API 回應數量 | 1 個連續串流 | 10 則回應 |
效能因素
在大多數用途中,我們建議使用 SearchStream
而非 Search
,原因如下:
單一網頁報表 (少於 10,000 列):兩種方法之間沒有顯著的效能差異。
針對多頁報表:一般而言,
SearchStream
執行速度通常比較快,因為可避免多次往返作業,而且不是從磁碟快取讀取或寫入資料。
頻率限制
這兩種方法的每日上限都會符合開發人員權杖的標準限制和存取層級。無論結果經過分頁或串流處理,單一查詢或報表都只會計為一次作業。