Để thảo luận và đưa ra ý kiến phản hồi về các sản phẩm của chúng tôi, hãy tham gia kênh Discord chính thức của Google Ads trong máy chủ Cộng đồng quảng cáo và đo lường của Google.
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
GoogleAdsService.Search hỗ trợ phân trang theo kích thước trang cố định là 10.000 hàng. Tập kết quả của truy vấn được chia thành nhiều phản hồi, mỗi phản hồi có 10.000 đối tượng.
Nếu tài khoản của bạn có 50.000 từ khoá, thì tập kết quả sẽ chứa 10.000 đối tượng GoogleAdsRow trong phản hồi đầu tiên, cùng với một next_page_token.
Để truy xuất 10.000 hàng tiếp theo, hãy gửi lại yêu cầu nhưng cập nhật page_token của yêu cầu thành next_page_token của phản hồi.
Xin lưu ý rằng next_page_token không được điền sẵn trong phản hồi chứa lô hàng cuối cùng của các hàng.
Thư viện ứng dụng của chúng tôi tự động xử lý việc phân trang. Bạn chỉ cần lặp lại các hàng của phản hồi. Khi tất cả các hàng trong trang hiện tại đã được trả về, thư viện ứng dụng sẽ tự động tìm nạp một trang hàng mới thay cho bạn cho đến khi toàn bộ tập dữ liệu được truy xuất. Nếu sử dụng REST thay vì gRPC, bạn phải đưa ra yêu cầu rõ ràng cho mỗi trang mới.
Google Ads API lưu trữ toàn bộ tập dữ liệu vào bộ nhớ đệm nội bộ, vì vậy, các yêu cầu tiếp theo sẽ nhanh hơn yêu cầu ban đầu.
Truy vấn của bạn phải giữ nguyên trong các yêu cầu tiếp theo để tận dụng dữ liệu được lưu vào bộ nhớ đệm. Các yêu cầu này sẽ không được tính vào hạn mức của bạn, đặc biệt là đối với cấp truy cập Cơ bản. Nếu truy vấn khác và được gửi cùng với mã thông báo trang, thì một lỗi sẽ được trả về.
[null,null,["Cập nhật lần gần đây nhất: 2025-08-27 UTC."],[[["\u003cp\u003e\u003ccode\u003eGoogleAdsService.Search\u003c/code\u003e returns data in fixed pages of 10,000 rows, requiring multiple requests to retrieve larger datasets.\u003c/p\u003e\n"],["\u003cp\u003eTo retrieve subsequent pages, use the \u003ccode\u003enext_page_token\u003c/code\u003e from the previous response in your next request's \u003ccode\u003epage_token\u003c/code\u003e field.\u003c/p\u003e\n"],["\u003cp\u003eClient libraries automate paging, but when using REST, you must manually request each page.\u003c/p\u003e\n"],["\u003cp\u003eThe Google Ads API caches the entire dataset, making subsequent requests with the same query faster and not counted towards quota.\u003c/p\u003e\n"],["\u003cp\u003eFor custom pagination scenarios, it's recommended to retrieve and store results locally, implementing your own pagination logic.\u003c/p\u003e\n"]]],[],null,["# Paging through results\n\n| **Note:** The `page_size` field was removed in v19 of the Google Ads API. See the [announcement](https://ads-developers.googleblog.com/2024/07/upcoming-changes-to-page-size-in-google.html). The `page_size` field has a default value of 10,000. Don't attempt to set the `page_size` value, as that will throw an error.\n\n[`GoogleAdsService.Search`](/google-ads/api/reference/rpc/v21/GoogleAdsService/Search) supports\npaging in fixed page sizes of 10,000 rows. The result set of the query is split\ninto multiple responses, each of which 10,000 objects.\n\nAs an example, consider the following query: \n\n SELECT\n ad_group.id,\n ad_group_criterion.type,\n ad_group_criterion.criterion_id,\n ad_group_criterion.keyword.text,\n ad_group_criterion.keyword.match_type\n FROM ad_group_criterion\n WHERE ad_group_criterion.type = KEYWORD\n\nIf your account contains 50,000 keywords, the result set will contain 10,000\n[`GoogleAdsRow`](/google-ads/api/reference/rpc/v21/GoogleAdsRow) objects in the first response,\nalong with a\n[`next_page_token`](/google-ads/api/reference/rpc/v21/SearchGoogleAdsResponse#next_page_token).\n\nTo retrieve the next 10,000 rows, send the request again, but update the\nrequest's `page_token` to the response's\n[`next_page_token`](/google-ads/api/reference/rpc/v21/SearchGoogleAdsResponse#next_page_token).\nNote that\n[`next_page_token`](/google-ads/api/reference/rpc/v21/SearchGoogleAdsResponse#next_page_token)\nis not populated in the response that contains the last batch of rows.\n\nOur client libraries handle paging automatically. You only have to iterate\nthrough the rows of the response. When all rows in the current page have\nbeen returned, the client library fetches a new page of rows automatically on\nyour behalf until the entire dataset is retrieved. If using REST instead\nof gRPC, you must explicitly make a request for each new page.\n\nThe Google Ads API internally caches the entire dataset, so subsequent requests are\nfaster than the initial one.\n\nYour query must remain exactly the same in subsequent requests to take advantage\nof the cached data. The requests won't contribute towards your quota,\nparticularly for [Basic Access level](/google-ads/api/docs/access-levels#basic_access). If\nthe query differs and is sent along with the same page token, an error is\nreturned.\n| **Key Point:** If you need manual paging, such as for custom web pagination, we recommend that you retrieve and store the results locally, such as in a database, and build your own pagination logic."]]