Google Ads API में, एट्रिब्यूट को वापस पाने और मेट्रिक की रिपोर्टिंग के लिए एक जैसा तरीका इस्तेमाल किया जाता है. इससे, Google Ads क्वेरी लैंग्वेज का इस्तेमाल करके क्वेरी बनाई जा सकती हैं. इससे, जटिल क्वेरी बनाई जा सकती हैं. इनकी मदद से, Google Ads के अलग-अलग खातों के बारे में ज़्यादा डेटा वापस पाया जा सकता है.
Search या SearchStream में से किसी भी तरीके का इस्तेमाल करके क्वेरी बनाई जा सकती हैं.
दोनों तरीकों से एक ही क्वेरी की जा सकती है और दोनों से एक जैसे नतीजे मिलते हैं. Search तरीके से, 10,000 पंक्तियों वाले तय साइज़ के पेजों में डेटा मिलता है. इससे, पेज नंबर के हिसाब से नतीजों के सेट को देखा जा सकता है. यह सुविधा, कम बैंडविथ या भरोसेमंद न होने वाले नेटवर्क की स्थितियों में फ़ायदेमंद हो सकती है. उदाहरण के लिए, नतीजों के बड़े सेट को छोटे-छोटे रिस्पॉन्स में बांटा जा सकता है. अगर कनेक्शन टूट जाता है, तो इन रिस्पॉन्स को फिर से फ़ेच किया जा सकता है. वहीं, SearchStream तरीके से, नतीजों का पूरा सेट एक ही रिस्पॉन्स में स्ट्रीम किया जाता है. इससे, बल्क में डेटा वापस पाने में मदद मिल सकती है.
Search और SearchStream, दोनों के लिए एक ही बेस यूआरएल इस्तेमाल किया जाता है:
https://googleads.googleapis.com/v26/customers/CUSTOMER_ID/googleAds
POST /v26/customers/CUSTOMER_ID/googleAds:search HTTP/1.1 Host: googleads.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'" }
अगर नतीजों में 10,000 से ज़्यादा पंक्तियां हैं, तो रिस्पॉन्स में nextPageToken दिखता है:
{ "results": [ // ... // ... // ... ], "nextPageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B", "fieldMask": "adGroupCriterion.keyword.text,adGroupCriterion.status" }
पिछले अनुरोध की वैल्यू के साथ pageToken जोड़कर, एक ही क्वेरी को दोहराने पर, नतीजों का अगला पेज फ़ेच होता है:
POST /v26/customers/CUSTOMER_ID/googleAds:search HTTP/1.1 Host: googleads.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'", "pageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B" }
SearchStream तरीके का इस्तेमाल करने के लिए, यूआरएल में मौजूद सर्विस के तरीके को searchStream में बदलें. इस तरीके से, सभी नतीजे एक ही स्ट्रीम किए गए रिस्पॉन्स में मिलते हैं. SearchStream के लिए pageToken की ज़रूरत नहीं होती है:
POST /v26/customers/CUSTOMER_ID/googleAds:searchStream HTTP/1.1 Host: googleads.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'" }
SearchStream एपीआई कॉल के नतीजे, JSON कलेक्शन में रैप किए जाते हैं.
वहीं, ज़्यादातर अन्य एपीआई कॉल के रिस्पॉन्स
मैसेज के तौर पर, एक JSON ऑब्जेक्ट दिखाते हैं. ज़्यादा जानकारी के लिए, JSON मैपिंग
वाला सेक्शन देखें.