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
के दस्तावेज़ देखें.