Bạn có thể phân trang qua các kết quả được truy xuất bằng GoogleAdsService.Search thay vì tải toàn bộ tập kết quả xuống cùng một lúc. Để biết thông tin tổng quan về báo cáo bằng API Google Ads, hãy xem Hướng dẫn báo cáo.
Kết quả được trả về theo các trang có tối đa 10.000 hàng. Nếu bạn không đặt page_size trong yêu cầu, thì giá trị mặc định sẽ là 10.000. Nếu page_size được đặt thành một giá trị lớn hơn 10.000, thì giá trị này vẫn sử dụng 10.000.
Ví dụ: hãy xem xét truy vấn sau:
SELECT
ad_group.id,
ad_group_criterion.type,
ad_group_criterion.criterion_id,
ad_group_criterion.keyword.text,
ad_group_criterion.keyword.match_type
FROM ad_group_criterion
WHERE ad_group_criterion.type = KEYWORD
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 độ quyền truy cập của người khám phá và cấp độ quyền 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 giống nhau, thì sẽ có lỗi trả về.