গুগল অ্যাডস এপিআই-এর একটি সমন্বিত অ্যাট্রিবিউট পুনরুদ্ধার এবং মেট্রিক্স রিপোর্টিং ব্যবস্থা রয়েছে, যা আপনাকে গুগল অ্যাডস কোয়েরি ল্যাঙ্গুয়েজ ব্যবহার করে কোয়েরি তৈরি করতে দেয়। এর ফলে এমন জটিল কোয়েরি তৈরি করা যায়, যা স্বতন্ত্র গুগল অ্যাডস অ্যাকাউন্টগুলো সম্পর্কে বিপুল পরিমাণ ডেটা ফেরত দিতে পারে।
আপনি Search অথবা SearchStream মেথড ব্যবহার করে কোয়েরি তৈরি করতে পারেন। উভয় মেথডই একই কোয়েরি সমর্থন করে এবং সমতুল্য ফলাফল প্রদান করে। Search মেথডটি ১০,০০০ সারি বিশিষ্ট নির্দিষ্ট আকারের পেজে ডেটা ফেরত দেয়, যা আপনাকে পেজিনেশন ব্যবহার করে একটি ফলাফল সেটের উপর পুনরাবৃত্তি করতে সক্ষম করে। এটি কম ব্যান্ডউইথ বা অনির্ভরযোগ্য নেটওয়ার্ক পরিস্থিতিতে সুবিধাজনক হতে পারে, উদাহরণস্বরূপ, একটি বড় ফলাফল সেটকে ছোট ছোট রেসপন্সে বিভক্ত করার জন্য, যা সংযোগ বিচ্ছিন্ন হয়ে গেলে পুনরায় আনা যেতে পারে। অন্যদিকে, SearchStream মেথডটি সম্পূর্ণ ফলাফল সেটটিকে একটি একক রেসপন্সে স্ট্রিম করে ফেরত পাঠায়, যা একসাথে অনেক ডেটা আনার জন্য আরও বেশি কার্যকর হতে পারে।
Search এবং SearchStream উভয়ই একই বেস ইউআরএল ব্যবহার করে:
https://googleads.googleapis.com/v25/customers/CUSTOMER_ID/googleAds
POST /v25/customers/CUSTOMER_ID/googleAds:search 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'" }
ফলাফলে ১০,০০০-এর বেশি সারি থাকলে রেসপন্সে একটি nextPageToken ফেরত দেওয়া হয়:
{ "results": [ // ... // ... // ... ], "nextPageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B", "fieldMask": "adGroupCriterion.keyword.text,adGroupCriterion.status" }
পূর্ববর্তী অনুরোধের মানগুলি সহ একটি pageToken যোগ করে একই কোয়েরিটি পুনরাবৃত্তি করলে ফলাফলের পরবর্তী পৃষ্ঠাটি পাওয়া যায়:
POST /v25/customers/CUSTOMER_ID/googleAds:search 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'", "pageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B" }
SearchStream মেথডটি ব্যবহার করতে, যা একটি একক স্ট্রিমড রেসপন্সে সমস্ত ফলাফল ফেরত দেয়, URL-এর service মেথডটি পরিবর্তন করে searchStream করুন ( SearchStream এর জন্য pageToken এর প্রয়োজন হয় না):
POST /v25/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'" }