Ad Manager API, डेटा के कलेक्शन उपलब्ध कराता है. आम तौर पर, ये List
तरीकों में उपलब्ध होते हैं. कलेक्शन का साइज़ अपनी पसंद के मुताबिक तय किया जा सकता है. साथ ही, एपीआई के रिस्पॉन्स में इन्हें पेज के हिसाब से बांटा जाता है.
बुनियादी बातें
कलेक्शन के लिए मैसेज का अनुरोध करने के लिए, वैकल्पिक पूर्णांक pageSize
फ़ील्ड तय किया जाता है. इससे, लौटाए जाने वाले नतीजों की ज़्यादा से ज़्यादा संख्या तय की जा सकती है.
pageSize
पैरामीटर को 1000
से कम की पॉज़िटिव संख्या पर सेट करें. अगर आपने कोई वैल्यू सेट नहीं की है या पैरामीटर को शून्य पर सेट किया है, तो एपीआई 50
की डिफ़ॉल्ट वैल्यू का इस्तेमाल करता है. पैरामीटर को नेगेटिव वैल्यू पर सेट करने पर, एपीआई INVALID_ARGUMENT
गड़बड़ी का मैसेज दिखाता है.
किसी संसाधन के लिए pageSize
वैल्यू जानने के लिए, संसाधन के रेफ़रंस दस्तावेज़ देखें. उदाहरण के लिए, AdBreaks
.
एपीआई, अनुरोध किए गए नतीजों की संख्या से कम नतीजे दिखा सकता है. इसमें शून्य नतीजे भी शामिल हैं. भले ही, कलेक्शन खत्म न हुआ हो. nextPageToken
फ़ील्ड की मौजूदगी का इस्तेमाल करके यह पता लगाएं कि कलेक्शन में और नतीजे हैं या नहीं.
कलेक्शन के लिए रिस्पॉन्स मैसेज, स्ट्रिंग nextPageToken
फ़ील्ड तय करते हैं. इसका इस्तेमाल अगले पेज को फिर से पाने के लिए किया जा सकता है. कलेक्शन के आखिर में, nextPageToken
फ़ील्ड खाली होता है. किसी कलेक्शन के आखिर में पहुंचने का पता लगाने का यही एक तरीका है.
कलेक्शन के लिए मैसेज का अनुरोध करने के लिए, स्ट्रिंग pageToken
फ़ील्ड की वैल्यू दें. यह फ़ील्ड ज़रूरी नहीं है. इसकी मदद से, कलेक्शन के अगले पेज पर पहुंचा जा सकता है. अगले पेजों के लिए किए गए अनुरोध में, pageSize
में बदलाव किए जा सकते हैं. अन्य सभी आर्ग्युमेंट एक जैसे होने चाहिए;
अगर कोई आर्ग्युमेंट अलग है, तो एपीआई INVALID_ARGUMENT
गड़बड़ी दिखाता है.
उदाहरण
cURL
शुरुआती अनुरोध
curl https://admanager.googleapis.com/v1/networks/123456/adUnits?pageSize=500
{
"adUnits": [ ... ],
"nextPageToken": "eCGwAcs6hUerggzd2DGv"
}
अगले पेज का अनुरोध
curl https://admanager.googleapis.com/v1/networks/123456/adUnits?pageSize=500&pageToken=eCGwAcs6hUerggzd2DGv
{
"adUnits": [ ... ]
}
कुल आकार
कलेक्शन के लिए रिस्पॉन्स मैसेज में एक इंटेजर totalSize
होता है, जो फ़िल्टर लागू होने के बाद इकाइयों की कुल संख्या दिखाता है. यह फ़ील्ड सिर्फ़ तब भरता है, जब फ़ील्ड मास्क में इसका अनुरोध किया जाता है.
GET https://admanager.googleapis.com/v1/networks/123456/adUnits?$fields=adUnits,nextPageToken,totalSize
नतीजों का क्रम
कलेक्शन के लिए अनुरोध मैसेज, स्ट्रिंग orderBy
फ़ील्ड तय करते हैं, ताकि क्रम से लगाने का क्रम तय किया जा सके.
वैल्यू, फ़ील्ड की कॉमा से अलग की गई सूची होनी चाहिए. उदाहरण के लिए: foo,bar
. डिफ़ॉल्ट रूप से, सूची को बढ़ते क्रम में लगाया जाता है. किसी फ़ील्ड के लिए, घटते क्रम में लगाने के लिए, desc
सफ़िक्स जोड़ें. उदाहरण के लिए: foo desc, bar
. सिंटैक्स में मौजूद अतिरिक्त स्पेस वर्ण अनदेखे कर दिए जाते हैं. orderBy
की वैल्यू foo, bar desc
, foo , bar desc
, और foo,bar desc
एक जैसी हैं. सबफ़ील्ड को .
कैरेक्टर से दिखाया जाता है, जैसे कि foo.bar
या address.street
.
क्रम से लगाने की सुविधा सिर्फ़ प्राइमिटिव फ़ील्ड पर काम करती है.
नतीजे स्किप करना
पेज किए गए ऑपरेशन के तरीके, नतीजों को स्किप करने के लिए इंटीजर skip
फ़ील्ड तय करते हैं. स्किप वैल्यू से, स्किप किए जाने वाले अलग-अलग रिसॉर्स की संख्या का पता चलता है, न कि पेजों की संख्या का.
उदाहरण के लिए:
बिना पेज टोकन और स्किप वैल्यू 30 के अनुरोध से, 31वें नतीजे से शुरू होने वाले नतीजों का एक पेज दिखता है.
51वें नतीजे से जुड़े पेज टोकन और 30 की स्किप वैल्यू वाला अनुरोध, 81वें नतीजे से शुरू होने वाले नतीजों का एक पेज दिखाता है. ऐसा इसलिए होता है, क्योंकि पहले 50 नतीजे पहले पेज पर दिखाए गए थे.
अगर स्किप की गई वैल्यू की वजह से कर्सर, नतीजों के कलेक्शन के आखिर में चला जाता है, तो रिस्पॉन्स के तौर पर 200 OK
दिखता है. साथ ही, नतीजों का सेट खाली होता है और उसमें कोई nextPageToken
नहीं होता.