Search & SearchStream

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'"
}