इस दस्तावेज़ में कुछ ऐसी तकनीकों के बारे में बताया गया है जिनका इस्तेमाल करके, आपका ऐप्लिकेशन. कुछ मामलों में, लागू किए गए अन्य एपीआई के उदाहरणों का इस्तेमाल किया जाता है ताकि इन आइडिया को समझा जा सके. हालांकि, इन बातों का ध्यान रखने पर ही की तुलना में, Video 360 API.
आंशिक संसाधनों के साथ काम करना
एपीआई कॉल की परफ़ॉर्मेंस को बेहतर बनाने का एक और तरीका है, सिर्फ़ अनुरोध करना वाला हिस्सा चुनें, जिसमें आपकी दिलचस्पी है. इससे आपका ऐप्लिकेशन गै़र-ज़रूरी फ़ील्ड को ट्रांसफ़र, पार्स, और सेव करने से बचें. इसलिए, यह नेटवर्क, सीपीयू, और मेमोरी जैसे संसाधनों को बेहतर तरीके से इस्तेमाल किया जा सकता है.
अधूरे जवाब
डिफ़ॉल्ट रूप से, सर्वर इसके बाद संसाधन का पूरा प्रतिनिधित्व वापस भेजता है अनुरोध प्रोसेस कर रहा है. बेहतर परफ़ॉर्मेंस के लिए, आप सर्वर से यह जानकारी भेजने के लिए कह सकते हैं सिर्फ़ उन फ़ील्ड को चुनें जिनकी आपको वाकई ज़रूरत है और इसके बजाय आंशिक जवाब पाएं.
अधूरे जवाब का अनुरोध करने के लिए, fields
अनुरोध पैरामीटर का इस्तेमाल करके बताएं
वे फ़ील्ड जिन्हें आपको लौटाना है. इस पैरामीटर का इस्तेमाल किसी भी अनुरोध के साथ किया जा सकता है
जो रिस्पॉन्स डेटा को दिखाता है.
उदाहरण
नीचे दिए गए उदाहरण में, कन्वर्ज़न वैल्यू के साथ fields
पैरामीटर का इस्तेमाल दिखाया गया है
डिसप्ले और Video 360 API.
सरल अनुरोध: यह एचटीटीपी GET
अनुरोध, fields
पैरामीटर को छोड़ देता है और
पूरे संसाधन को दिखाता है.
GET https://displayvideo.googleapis.com/v3/advertisers?partnerId=1
संसाधन का पूरा रिस्पॉन्स: पूरे संसाधन डेटा में ये चीज़ें शामिल होती हैं और कई अन्य फ़ील्ड को छोटा रखने के लिए हटा दिया गया है.
200 OK
{
"advertisers": [
{
"name": "advertisers/1",
"advertiserId": "1",
"partnerId": "1",
"displayName": "Example Advertiser 1",
"entityStatus": "ENTITY_STATUS_ACTIVE",
"updateTime": "2019-01-01T00:00:00.000000Z",
"generalConfig": {
"domainUrl": "http://example.com",
"timeZone": "America/New_York",
"currencyCode": "USD",
"address": {
}
},
"adServerConfig": {
"thirdPartyOnlyConfig": {
}
},
"creativeConfig": {
},
"dataAccessConfig": {
"sdfConfig": {
"sdfConfig": {
"version": "VERSION_3_1"
}
}
},
"integrationDetails": {
}
},
{
"name": "advertisers/2",
"advertiserId": "2",
"partnerId": "1",
"displayName": "Example Advertiser 2",
"entityStatus": "ENTITY_STATUS_ACTIVE",
"updateTime": "2019-01-01T00:00:00.000000Z",
"generalConfig": {
"domainUrl": "http://example.com",
"timeZone": "America/New_York",
"currencyCode": "USD",
"address": {
}
},
"adServerConfig": {
"thirdPartyOnlyConfig": {
}
},
"creativeConfig": {
},
"dataAccessConfig": {
"sdfConfig": {
"sdfConfig": {
"version": "VERSION_3_1"
}
}
},
"integrationDetails": {
}
},
...
],
"nextPageToken": "..."
}
कुछ हद तक जवाब पाने के लिए अनुरोध: इसी संसाधन के लिए नीचे दिया गया अनुरोध
इसमें fields
पैरामीटर का इस्तेमाल करके, लौटाए गए डेटा को काफ़ी कम किया जाता है.
GET https://displayvideo.googleapis.com/v3/advertisers?partnerId=1&fields=advertisers(advertiserId,partnerId,displayName)
अधूरा जवाब: ऊपर दिए गए अनुरोध के जवाब में, सर्वर इसमें विज्ञापन देने वाले लोगों या कंपनियों का ऐसा कलेक्शन होता है जिसमें कम विज्ञापन दिखेंगे विज्ञापन देने वाले हर व्यक्ति या कंपनी का आईडी, डिसप्ले नेम, और पार्टनर आईडी प्रॉपर्टी. उपस्थित.
200 OK
{
"advertisers": [
{
"advertiserId": "1",
"partnerId": "1",
"displayName": "Example Advertiser 1"
},
{
"advertiserId": "2",
"partnerId": "1",
"displayName": "Example Advertiser 2"
},
...
]
}
ध्यान दें कि रिस्पॉन्स, एक JSON ऑब्जेक्ट है. इसमें सिर्फ़ चुने गए फ़ील्ड शामिल होते हैं और उनके बंद-पास मौजूद ऑब्जेक्ट.
आगे fields
पैरामीटर को फ़ॉर्मैट करने के तरीके के बारे में जानकारी दी गई है.
जवाब में क्या लौटाया जाता है, इसके बारे में ज़्यादा जानकारी.
फ़ील्ड पैरामीटर के सिंटैक्स की खास जानकारी
fields
अनुरोध पैरामीटर मान का प्रारूप शिथिल होता है
सिंटैक्स. इस्तेमाल किए जा सकने वाले सिंटैक्स के बारे में खास जानकारी यहां दी गई है. साथ ही, कुछ और उदाहरण यहां दिए गए हैं
जिनकी जानकारी नीचे दी गई है.
एक से ज़्यादा फ़ील्ड चुनने के लिए, कॉमा लगाकर अलग की गई सूची का इस्तेमाल करें.
फ़ील्ड
a
में नेस्ट किए गएb
फ़ील्ड को चुनने के लिए,a/b
का इस्तेमाल करें;a/b/c
का इस्तेमाल करेंb
में नेस्ट किए गएc
फ़ील्ड को चुनने के लिए.रेंज के खास सब-फ़ील्ड के सेट का अनुरोध करने के लिए, सब-सिलेक्टर का इस्तेमाल करें या "
( )
" ब्रैकेट में एक्सप्रेशन शामिल करके, ऑब्जेक्ट के बारे में जानकारी दें.उदाहरण के लिए:
fields=advertisers(advertiserId,generalConfig/domainUrl)
इसमें हर एलिमेंट के लिए, सिर्फ़ विज्ञापन देने वाले का आईडी और डोमेन यूआरएल दिखाता है विज्ञापन देने वाले लोगों या कंपनियों का कलेक्शन. आप कोई एक सब-फ़ील्ड भी चुन सकते हैं, जहांfields=advertisers(advertiserId)
इसके बराबर हैfields=advertisers/advertiserId
.
फ़ील्ड पैरामीटर का इस्तेमाल करने के और उदाहरण
यहां दिए गए उदाहरणों में बताया गया है कि fields
पैरामीटर वैल्यू कैसे काम करती है
प्रतिक्रिया को प्रभावित करता है.
- वे फ़ील्ड पहचानें जिन्हें आपको लौटाना है या फ़ील्ड चुनें.
fields
के अनुरोध के पैरामीटर की वैल्यू, फ़ील्ड की कॉमा-सेपरेटेड लिस्ट है और हर फ़ील्ड को रिस्पॉन्स के रूट के हिसाब से तय किया जाता है. इसलिए, अगर आपको एकlist
कार्रवाई कर रहे हैं, तो रिस्पॉन्स एक कलेक्शन है और यह आम तौर पर, इसमें संसाधनों का कलेक्शन मौजूद होता है. अगर कोई कार्रवाई की जा रही है जो एक रिसॉर्स दिखाता है, फ़ील्ड उसके आधार पर तय किए जाते हैं संसाधन. अगर आपका चुना गया फ़ील्ड किसी अरे का हिस्सा है या किसी अरे का हिस्सा है, तो सर्वर अरे के सभी एलिमेंट का चुना गया हिस्सा दिखाता है.यहां कलेक्शन-लेवल के कुछ उदाहरण दिए गए हैं:
उदाहरण असर advertisers
इसमें सभी एलिमेंट लौटाता है advertisers
कलेक्शन, जिसमें ये शामिल हैं सभी फ़ील्ड में, लेकिन कोई अन्य फ़ील्ड नहीं.advertisers,nextPageToken
nextPageToken
, दोनों दिखाता है फ़ील्ड और उसमें मौजूद सभी एलिमेंटadvertisers
कलेक्शन.advertisers/advertiserId
सिर्फ़ advertiserId
दिखाता है सभी एलिमेंट के लिएadvertisers
कलेक्शन.
जब भी नेस्ट किया गया फ़ील्ड के जवाब में ये शामिल हैं: पास में मौजूद पैरंट ऑब्जेक्ट. पैरंट फ़ील्ड में कोई और चाइल्ड फ़ील्ड, जब तक कि उन्हें भी चुना जाता है साफ़ तौर पर बताया गया है.advertisers/generalConfig/domainUrl
यह फ़ंक्शन domainUrl
फ़ील्ड को दिखाता हैgeneralConfig
ऑब्जेक्ट के लिए, जो अपने-आपadvertisers
कलेक्शन.यहां संसाधन के लेवल के कुछ उदाहरण दिए गए हैं:
उदाहरण असर advertiserId
यह फ़ंक्शन advertiserId
फ़ील्ड को दिखाता है अनुरोध किया गया है.generalConfig/domainUrl
यह फ़ंक्शन domainUrl
फ़ील्ड को दिखाता हैgeneralConfig
ऑब्जेक्ट के लिए के अनुरोध किए गए संसाधन में.- उप-चुनावों का इस्तेमाल करके, खास फ़ील्ड के सिर्फ़ कुछ हिस्सों के लिए अनुरोध करें.
अगर आपके अनुरोध में कुछ खास फ़ील्ड के बारे में बताया गया है, तो डिफ़ॉल्ट रूप से सर्वर ऑब्जेक्ट या अरे एलिमेंट को पूरी तरह से. जवाब दिया जा सकता है जिसमें सिर्फ़ कुछ सब-फ़ील्ड शामिल हों. आप "
( )
" का इस्तेमाल करके ऐसा करते हैं सब-चुनाव सिंटैक्स, जैसा कि नीचे दिए गए उदाहरण में बताया गया है.उदाहरण असर advertisers(advertiserId,generalConfig/domainUrl)
यह फ़ंक्शन सिर्फ़ तब दिखाता है, के मान advertiserId
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है और GeneralConfig इसके लिएdomainUrl
: हर एलिमेंट कोadvertisers
कलेक्शन.
अधूरे जवाबों को मैनेज करना
जब सर्वर एक ऐसा मान्य अनुरोध प्रोसेस कर दे जिसमें fields
क्वेरी शामिल हो
पैरामीटर है, तो यह अनुरोध किए गए के साथ एक HTTP 200 OK
स्थिति कोड वापस भेजता है
डेटा शामिल है. अगर fields
क्वेरी पैरामीटर में कोई गड़बड़ी है या वह अमान्य है, तो
सर्वर किसी गड़बड़ी के साथ एचटीटीपी 400 Bad Request
स्टेटस कोड दिखाता है
यह बताने वाला मैसेज कि फ़ील्ड चुनने में क्या गलती हुई (उदाहरण के लिए,
"Invalid field selection a/b"
).