جستجو & SearchStream

ویدیو: گزارش

Google Ads API دارای یک مکانیسم یکپارچه بازیابی ویژگی و گزارش سنجه است که به شما امکان می دهد با استفاده از زبان جستجوی Google Ads پرس و جو ایجاد کنید. این درخواست‌های پیچیده را فعال می‌کند که می‌توانند مقادیر زیادی از داده‌ها را در مورد حساب‌های Google Ads فردی برگردانند.

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

هر دو Search و SearchStream از یک URL اصلی استفاده می کنند:

    https://googleads.googleapis.com/v16/customers/CUSTOMER_ID/googleAds

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

POST /v16/customers/CUSTOMER_ID/googleAds:search HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_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 /v16/customers/CUSTOMER_ID/googleAds:search HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_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 ، که همه نتایج را در یک پاسخ جریانی واحد برمی گرداند، به سادگی روش سرویس در URL را به searchStream تغییر دهید ( pageSize و pageToken توسط SearchStream مورد نیاز نیستند):

POST /v16/customers/CUSTOMER_ID/googleAds:searchStream HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_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'"
}