अनुरोध कैसे काम करते हैं

इस पेज पर, Google Classroom API में अनुरोधों के काम करने के तरीके के बारे में खास जानकारी दी गई है. इसका मकसद उन लोगों की मदद करना है जिन्हें रिसोर्स ओरिएंटेड डिज़ाइन या Google Workspace API के बारे में पहले से जानकारी नहीं है.

कोड के कुछ उदाहरणों के लिए, एपीआई से जुड़ी गाइड देखें. उदाहरण के लिए, कोर्स बनाना और उन्हें मैनेज करना या क्लासवर्क बनाना और उसे मैनेज करना.

संसाधन के हिसाब से डिज़ाइन करना

एपीआई संसाधनों में बताए गए तरीके के मुताबिक, Classroom API, संसाधन-उन्मुख डिज़ाइन पैटर्न का पालन करता है. ज़्यादातर संसाधनों में, स्टैंडर्ड ऑपरेशन के तरीके होते हैं. जैसे, संसाधन के इंस्टेंस बनाना, पढ़ना, अपडेट करना, और मिटाना.

उदाहरण के लिए, एपीआई का इस्तेमाल करके Classroom Course को create(), patch(), get(), list(), और delete() किया जा सकता है.

बनाएं

Course जैसे नए संसाधन बनाने के लिए, उससे जुड़े संसाधन के लिए create() तरीके को कॉल करें.

Create() कॉल के लिए, इनपुट के तौर पर हमेशा संबंधित संसाधन की शुरुआती और ज़रूरी जानकारी की ज़रूरत होती है. उदाहरण के लिए, Course बनाने के लिए, Course रिसोर्स पर create() तरीके को कॉल करें. साथ ही, अनुरोध में name और description के साथ-साथ, room जैसी वैकल्पिक जानकारी दें.

सब-रिसोर्स (कभी-कभी इन्हें चाइल्ड रिसोर्स भी कहा जाता है) के लिए, पैरंट रिसोर्स के आइडेंटिफ़ायर भी ज़रूरी होते हैं. उदाहरण के लिए, Course में CourseWork बनाते समय, यह तय करने के लिए Course id की ज़रूरत होती है कि CourseWork किस Course से जुड़ा है.

Create() तरीके, एपीआई कॉल के जवाब में नई बनाई गई संसाधन का इंस्टेंस दिखाते हैं. आम तौर पर, दिखाए गए रिसॉर्स में सर्वर से जनरेट किए गए अतिरिक्त फ़ील्ड होते हैं. जैसे, रिसॉर्स id या creationTime.

पैच

मौजूदा संसाधनों में बदलाव करने के लिए, उनसे जुड़े संसाधन पर patch() तरीके (जिसे कभी-कभी update() भी कहा जाता है) का इस्तेमाल करें. patch() तरीका, create() तरीके जैसा ही है. हालांकि, इसमें दो मुख्य अंतर हैं. patch() तरीके को कॉल करते समय, आपको ये जानकारी देनी होगी:

  1. बदलाव करने के लिए संसाधन का id.
  2. फ़ील्ड की सूची को updateMask कहा जाता है. इससे यह तय किया जाता है कि संसाधन के किन फ़ील्ड को अपडेट करना है. अगर फ़ील्ड का डिफ़ॉल्ट सेट मौजूद है या फ़ील्ड का अनुमान लगाया गया है, तो यह विकल्प ज़रूरी नहीं है.

Patch() तरीके, एपीआई कॉल के जवाब में अपडेट किए गए संसाधन का पूरा इंस्टेंस दिखाते हैं. इसमें सभी बदलाव शामिल होते हैं.

Get and list

संसाधन वापस पाने के दो तरीके हैं: get() और list().

get() तरीके से, किसी आइडेंटिफ़ायर के ज़रिए किसी संसाधन को वापस पाया जाता है. उदाहरण के लिए, id या alias के आधार पर Course को फ़ेच करना. get() कॉल, पूरे संसाधन को सीधे तौर पर दिखाता है.

list() तरीके से, एक ही तरह के कई संसाधनों को एक ही अनुरोध में वापस पाया जा सकता है. इसके लिए, अलग-अलग संसाधन आइडेंटिफ़ायर की ज़रूरत नहीं होती. अक्सर list() ऑपरेशन, किसी पैरंट रिसॉर्स के सभी सबरिसॉर्स को फ़ेच करता है. उदाहरण के लिए, किसी Course में मौजूद सभी CourseWork को फ़ेच करना. यह कई get() कॉल करने की तुलना में, अनुरोधों को कम करने के लिए फ़ायदेमंद है. साथ ही, यह तब ज़्यादा फ़ायदेमंद होता है, जब आपको उन संसाधनों के id के बारे में पता न हो जिनकी आपको ज़रूरत है.

आम तौर पर, list() तरीकों में संसाधनों की कुछ ज़्यादा से ज़्यादा संख्या होती है, जिन्हें एक कॉल में वापस किया जा सकता है. साथ ही, कॉल में pageSize वैल्यू शामिल करके, कम सीमाएं कॉन्फ़िगर की जा सकती हैं. अगर संसाधनों की संख्या तय सीमा से ज़्यादा है, तो list() तरीके में पेजों का क्रम तय करने की सुविधा काम करती है. नतीजों के हर "पेज" में pageToken शामिल होता है. इसे list() के अगले कॉल में शामिल किया जा सकता है, ताकि संसाधनों का अगला बैच फ़ेच किया जा सके.

मिटाएं

delete() तरीके में, id जैसे रिसॉर्स आइडेंटिफ़ायर को स्वीकार किया जाता है. साथ ही, इससे जुड़े रिसॉर्स को मिटा दिया जाता है. अगर delete() अनुरोध पूरा हो जाता है, तो कोई जवाब नहीं मिलता.

अन्य कार्रवाइयां

Classroom API की मदद से की जा सकने वाली सभी कार्रवाइयां, ऊपर बताई गई स्टैंडर्ड कार्रवाइयों की मदद से नहीं की जा सकतीं. उदाहरण के लिए, CourseWork संसाधन के लिए असाइन किए गए लोगों की जानकारी में बदलाव करना. ऐसे मामलों में, कस्टम तरीके उपलब्ध होते हैं. जैसे, modifyAssignees तरीका. इन तरीकों का व्यवहार अलग-अलग होता है. इसलिए, आपको इनके दस्तावेज़ अलग-अलग देखने चाहिए.