लागू करना: अधूरे जवाब

यहां दिए गए उदाहरणों में, YouTube Data API (v3) में एपीआई के कुछ रिस्पॉन्स पाने का तरीका बताया गया है.

ध्यान दें: एपीआई के शुरू करने से जुड़ी गाइड में, कुछ अनुरोधों और जवाबों के बारे में ज़्यादा जानकारी मिलती है.

v3 API, कुछ रिसॉर्स को वापस पाने की अनुमति देता है और असल में, ऐसा करना ज़रूरी भी है. इससे ऐप्लिकेशन, ग़ैर-ज़रूरी डेटा को ट्रांसफ़र करने, पार्स करने, और स्टोर करने से बचते हैं. इस तरीके से यह भी पक्का होता है कि एपीआई, नेटवर्क, सीपीयू, और मेमोरी रिसॉर्स का ज़्यादा बेहतर तरीके से इस्तेमाल करता है.

एपीआई में दो अनुरोध पैरामीटर, part और fields काम करते हैं. इनकी मदद से, उन संसाधन प्रॉपर्टी की पहचान की जा सकती है जिन्हें एपीआई के जवाबों में शामिल किया जाना चाहिए. part पैरामीटर उन प्रॉपर्टी की भी पहचान करता है जिन्हें संसाधनों को डालने या अपडेट करने वाले एपीआई अनुरोधों से सेट किया जाना चाहिए.

ध्यान दें कि अगर अपडेट के अनुरोध में किसी ऐसी संसाधन प्रॉपर्टी के लिए कोई वैल्यू नहीं दी गई है जिसकी पहले कोई वैल्यू थी, तो मौजूदा वैल्यू को तब मिटा दिया जाएगा, जब ये शर्तें पूरी हों:

  • अनुरोध करके, प्रॉपर्टी की वैल्यू में बदलाव किया जा सकता है. उदाहरण के लिए, video संसाधन को अपडेट करते समय, snippet.description प्रॉपर्टी की वैल्यू अपडेट की जा सकती है, लेकिन snippet.thumbnails ऑब्जेक्ट की वैल्यू अपडेट नहीं की जा सकती.

  • अनुरोध के part पैरामीटर की वैल्यू, उस संसाधन के हिस्से की पहचान करती है जिसमें प्रॉपर्टी शामिल होती है.

उदाहरण

उदाहरण के लिए, मान लें कि आपको यहां दिखाए गए video रिसॉर्स को अपडेट करना है. (ध्यान दें कि यहां दी गई सभी प्रॉपर्टी को एपीआई की मदद से अपडेट किया जा सकता है. साथ ही, उदाहरण के लिए काम न आने वाली संसाधन प्रॉपर्टी को हटा दिया गया है.)

{
  "snippet": {
    "title": "Old video title",
    "description": "Old video description",
    "tags": ["keyword1","keyword2","keyword3"],
    "categoryId: 22
  },
  "status": {
    "privacyStatus": "private",
    "publishAt": "2014-09-01T12:00:00.0Z",
    "license": "youtube",
    "embeddable": True,
    "publicStatsViewable": True
  }
}

videos.update तरीके को कॉल करके, part पैरामीटर की वैल्यू को snippet पर सेट किया जाता है. एपीआई अनुरोध के मुख्य हिस्से में यह रिसॉर्स शामिल होता है:

{
  "snippet": {
    "title": "New video title",
    "tags": ["keyword1","keyword2","keyword3"],
    "categoryId: 22
  }
}

इस अनुरोध से, वीडियो का टाइटल अपडेट हो जाता है और उसका ब्यौरा मिट जाता है. हालांकि, वीडियो के टैग या कैटगरी आईडी में कोई बदलाव नहीं होता. वीडियो का ब्यौरा मिटा दिया गया है, क्योंकि अनुरोध में snippet.description प्रॉपर्टी की वैल्यू नहीं दी गई है.

status ऑब्जेक्ट की प्रॉपर्टी पर कोई असर नहीं पड़ा, क्योंकि part पैरामीटर की वैल्यू में status को उन हिस्सों में शामिल नहीं किया गया था जिन्हें अनुरोध अपडेट करेगा. असल में, अगर एपीआई रिक्वेस्ट के मुख्य हिस्से में status ऑब्जेक्ट शामिल है, तो एपीआई 400 (Bad Request) एचटीटीपी रिस्पॉन्स दिखाएगा. ऐसा इसलिए होगा, क्योंकि रिक्वेस्ट के मुख्य हिस्से में अनचाहा हिस्सा शामिल किया गया है.