جستجو و SearchStream

‫Search Ads 360 Reporting API دارای سازوکار گزارش‌دهی سنجه‌ها و بازیابی مشخصه یکپارچه است که به شما امکان می‌دهد بااستفاده از زبان پُرسمان Search Ads 360 پُرسمان ایجاد کنید. این کار امکان اجرای پُرسمان‌های پیچیده را فراهم می‌کند که می‌توانند حجم زیادی از داده‌ها را درباره حساب‌های Search Ads 360 تکی برگردانند.

می‌توانید بااستفاده از روش‌های Search یا SearchStream پُرسمان ایجاد کنید. هر دو روش از پُرسمان‌های یکسانی پشتیبانی می‌کنند و نتایج یکسانی را برمی‌گردانند. روش Search داده‌ها را در اندازه‌های صفحه قابل‌سفارشی‌سازی برمی‌گرداند و به شما امکان می‌دهد بااستفاده از صفحه‌بندی، روی مجموعه نتایج تکرار کنید. این می‌تواند در شرایط پهنای باند کم یا شبکه غیرقابل‌اعتماد مفید باشد، برای مثال، برای تقسیم یک مجموعه نتیجه بزرگ به پاسخ‌های کوچک‌تر که درصورت قطع اتصال می‌توانند دوباره واکشی شوند. ازسوی دیگر، روش SearchStream کل مجموعه نتایج را در یک پاسخ جاری‌سازی می‌کند که می‌تواند برای بازیابی انبوه داده‌ها کارآمدتر باشد.

هر دو Search و SearchStream از یک نشانی وب پایه استفاده می‌کنند:

    https://searchAds360.googleapis.com/v0/customers/CUSTOMER_ID/searchAds360

روش جستجوی مبتنی بر صفحه پارامتر اختیاری pageSize را می‌گیرد که تعداد نتایج برگردانده‌شده در یک پاسخ میانای برنامه‌سازی کاربردی را محدود می‌کند.

POST /v0/customers/CUSTOMER_ID/searchAds360:search HTTP/1.1
Host: searchAds360.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN

{
"pageSize": 10000,
"query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'"
}

اگر تعداد ردیف‌های نتایج بیشتر از pageSize باشد، nextPageToken در پاسخ برگردانده می‌شود:

{
  "results": [
    // ...
    // ...
    // ...
  ],
  "nextPageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B",
  "fieldMask": "adGroupCriterion.keyword.text,adGroupCriterion.status"
}

تکرار همان پُرسمان با pageToken اضافه شده با مقدار بالا، صفحه بعدی نتایج را واکشی می‌کند:

POST /v0/customers/CUSTOMER_ID/searchAds360:search HTTP/1.1
Host: searchads360.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN


{
"pageSize": 10000,
"query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'",
"pageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B"
}

برای استفاده از روش SearchStream که همه نتایج را در یک پاسخ جاری‌شده برمی‌گرداند، کافی است روش سرویس را در نشانی وب به searchStream تغییر دهید (pageSize و pageToken برای SearchStream لازم نیستند):

POST /v0/customers/CUSTOMER_ID/searchAds360:searchStream HTTP/1.1
Host: searchads360.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN

{
    "query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'"
}