تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تتيح GoogleAdsService.Search تقسيم النتائج إلى صفحات بحجم ثابت يبلغ 10,000 صف. يتم تقسيم مجموعة نتائج طلب البحث إلى ردود متعددة، يحتوي كل منها على 10,000 عنصر.
إذا كان حسابك يحتوي على 50,000 كلمة رئيسية، ستتضمّن مجموعة النتائج 10,000 عنصر GoogleAdsRow في الردّ الأول، بالإضافة إلى next_page_token.
لاسترداد الـ 10,000 صف التالية، أرسِل الطلب مرة أخرى، ولكن عدِّل page_token في الطلب إلى next_page_token في الرد.
يُرجى العِلم أنّه لا تتم تعبئة
next_page_token
في الاستجابة التي تحتوي على آخر مجموعة من الصفوف.
تتعامل مكتبات البرامج مع التقسيم إلى صفحات تلقائيًا. ما عليك سوى تكرار الصفوف في الرد. عند عرض جميع الصفوف في الصفحة الحالية، تسترد مكتبة العميل صفحة جديدة من الصفوف تلقائيًا نيابةً عنك إلى أن يتم استرداد مجموعة البيانات بأكملها. في حال استخدام REST بدلاً من gRPC، يجب تقديم طلب بشكل صريح لكل صفحة جديدة.
تخزّن واجهة برمجة التطبيقات Google Ads API مجموعة البيانات بأكملها مؤقتًا، لذا تكون الطلبات اللاحقة أسرع من الطلب الأوّلي.
يجب أن يظل طلب البحث كما هو تمامًا في الطلبات اللاحقة للاستفادة من البيانات المخزّنة مؤقتًا. لن تساهم الطلبات في حصتك،
خاصةً بالنسبة إلى مستوى الوصول الأساسي. إذا كان طلب البحث مختلفًا وتم إرساله مع الرمز المميّز للصفحة نفسه، سيتم عرض خطأ.
تاريخ التعديل الأخير: 2025-08-27 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-27 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\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."]]