Google Ads API में एट्रिब्यूट को वापस पाने और मेट्रिक रिपोर्टिंग के तरीके को यूनिफ़ाइड तरीके से सेट किया गया है. इसकी मदद से, Google Ads क्वेरी लैंग्वेज का इस्तेमाल करके क्वेरी बनाई जा सकती हैं. इससे जटिल क्वेरी चालू हो जाती हैं, जिनसे अलग-अलग Google Ads खातों के बारे में बड़ी संख्या में डेटा मिल सकता है.
Search
या SearchStream
में से किसी एक तरीके का इस्तेमाल करके, क्वेरी बनाई जा सकती हैं.
दोनों तरीकों में एक जैसी क्वेरी काम करती हैं और एक जैसे नतीजे देते हैं. Search
वाला तरीका, पसंद के मुताबिक बनाए जा सकने वाले पेज साइज़ में डेटा दिखाता है. इससे, पेजिनेशन का इस्तेमाल करके, नतीजे के सेट पर फिर से काम किया जा सकता है. यह कम बैंडविड्थ या गैर-भरोसेमंद नेटवर्क स्थितियों में फ़ायदेमंद हो सकता है. उदाहरण के लिए, किसी बड़े नतीजे को छोटे-छोटे रिस्पॉन्स में सेट करना, जिन्हें कनेक्शन खोने पर फिर से फ़ेच किया जा सकता है. वहीं SearchStream
वाला तरीका, पूरे नतीजे को एक ही रिस्पॉन्स में स्ट्रीम करता है. इससे, बल्क डेटा वापस पाने में मदद मिल सकती है.
Search
और SearchStream
एक ही बेस यूआरएल का इस्तेमाल करते हैं:
https://googleads.googleapis.com/v16/customers/CUSTOMER_ID/googleAds
पेज के हिसाब से खोज करने के तरीके में एक वैकल्पिक pageSize
पैरामीटर लिया जाता है, जो यह सीमित करता है कि
एक एपीआई के जवाब में कितने नतीजे दिखाए जाएं.
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
वाले तरीके का इस्तेमाल करने के लिए, जो स्ट्रीम किए गए एक जवाब में सभी नतीजे दिखाता है, बस यूआरएल में सेवा के तरीके को बदलकर searchStream
कर दें
(SearchStream
के लिए pageSize
और pageToken
ज़रूरी नहीं हैं):
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'" }