Google Docs API का इस्तेमाल करते समय, आपको कई सिद्धांतों का पालन करना चाहिए. इनमें शामिल हैं:
- बेहतर तरीके से बदलाव करने के लिए, पिछली सेटिंग पर वापस जाना
- साथ मिलकर काम करने का प्लान बनाना
WriteControl
फ़ील्ड का इस्तेमाल करके, स्थिति की एकरूपता बनाए रखना- टैब को ध्यान में रखना
इन सिद्धांतों के बारे में नीचे दिए गए सेक्शन में बताया गया है.
बेहतर तरीके से बदलाव करने के लिए, पिछली सेटिंग पर वापस जाना
documents.batchUpdate
तरीका इस्तेमाल करने के लिए एक बार कॉल करने पर, अपने अनुरोधों को इंडेक्स की जगह के हिसाब से उतरते क्रम में लगाएं. इससे, डेटा जोड़ने और मिटाने की वजह से इंडेक्स में हुए बदलावों का हिसाब लगाने की ज़रूरत नहीं पड़ती.
साथ मिलकर काम करने का प्लान बनाना
दस्तावेज़ की स्थिति बदल सकती है. एक मेथड कॉल और दूसरे के बीच, साथ मिलकर काम करने वाले दूसरे लोग दस्तावेज़ को अपडेट कर सकते हैं. इस बारे में यहां दिए गए डायग्राम में बताया गया है:
अगर इंडेक्स गलत हैं, तो इससे गड़बड़ियां हो सकती हैं. जब कई उपयोगकर्ता यूज़र इंटरफ़ेस का इस्तेमाल करके किसी दस्तावेज़ में बदलाव करते हैं, तो Google Docs इसकी पारदर्शिता बनाए रखता है. हालांकि, एपीआई क्लाइंट के तौर पर, आपके ऐप्लिकेशन को इसे मैनेज करना होगा. भले ही, आपको दस्तावेज़ पर साथ मिलकर काम करने की ज़रूरत न हो, फिर भी इसे सुरक्षित तरीके से प्रोग्राम करना ज़रूरी है. साथ ही, यह पक्का करना भी ज़रूरी है कि दस्तावेज़ की स्थिति में कोई बदलाव न हो. डेटा एक जैसा है या नहीं, यह पक्का करने के लिए,
WriteControl
सेक्शन देखें.
WriteControl की मदद से स्टेटस की एक जैसी स्थिति बनाए रखना
किसी दस्तावेज़ को पढ़ने और फिर उसे अपडेट करने पर, documents.batchUpdate
तरीके में WriteControl
फ़ील्ड का इस्तेमाल करके, यह कंट्रोल किया जा सकता है कि एक जैसे बदलावों को कैसे मैनेज किया जाए. WriteControl
से यह तय किया जाता है कि डेटा डालने के अनुरोधों को कैसे लागू किया जाए.
इसका इस्तेमाल करने का तरीका यहां बताया गया है:
documents.get
तरीके का इस्तेमाल करके दस्तावेज़ पाएं औरdocuments
संसाधन सेrevisionId
को सेव करें.- अपडेट के अनुरोध लिखें.
- वैकल्पिक
WriteControl
ऑब्जेक्ट को इनमें से किसी एक विकल्प के साथ शामिल करें:requiredRevisionId
फ़ील्ड को उस दस्तावेज़ केrevisionId
पर सेट किया गया है जिस पर लिखने का अनुरोध लागू किया गया है. अगर एपीआई से दस्तावेज़ को पढ़ने का अनुरोध करने के बाद उसमें बदलाव किया गया है, तो लिखने का अनुरोध प्रोसेस नहीं किया जाता और गड़बड़ी का मैसेज दिखता है.targetRevisionId
फ़ील्ड को उस दस्तावेज़ केrevisionId
पर सेट किया गया है जिसमें बदलाव करने का अनुरोध किया गया है. अगर एपीआई से दस्तावेज़ को पढ़ने का अनुरोध करने के बाद, उसमें बदलाव किया गया है, तो बदलाव करने का अनुरोध करने पर, साथ मिलकर काम करने वाले व्यक्ति के बदलावों के बजाय, आपके बदलाव लागू किए जाते हैं. दस्तावेज़ में बदलाव करने के अनुरोध के नतीजे में, दस्तावेज़ में किए गए बदलावों और साथ मिलकर काम करने वाले व्यक्ति के बदलावों, दोनों को शामिल किया जाता है. कॉन्टेंट को मर्ज करने की ज़िम्मेदारी, Docs सर्वर की होती है.
WriteControl
का इस्तेमाल करके, एक साथ कई अनुरोध करने का उदाहरण देखने के लिए,
एक साथ कई अनुरोध करने का यह उदाहरण देखें.
टैब को ध्यान में रखना
किसी एक दस्तावेज़ में कई टैब हो सकते हैं. इन टैब को एपीआई अनुरोधों में अलग से मैनेज करना ज़रूरी होता है.
इन बातों का ध्यान रखें:
- किसी दस्तावेज़ के सभी टैब से कॉन्टेंट पाने के लिए,
documents.get
तरीके मेंincludeTabsContent
पैरामीटर कोtrue
पर सेट करें. डिफ़ॉल्ट रूप से, सभी टैब का कॉन्टेंट नहीं दिखता. documents.batchUpdate
तरीके में हरRequest
को लागू करने के लिए, टैब का (के) आईडी डालें. हरRequest
में, अपडेट लागू करने के लिए टैब तय करने का तरीका शामिल होता है. अगर कोई टैब तय नहीं किया गया है, तो डिफ़ॉल्ट रूप से ज़्यादातर मामलों मेंRequest
, दस्तावेज़ के पहले टैब पर लागू होगा. ज़्यादा जानकारी के लिए,Request
के दस्तावेज़ देखें.