सबसे अच्छे नतीजों के लिए सबसे सही तरीके

Google Docs API का इस्तेमाल करते समय, आपको कई सिद्धांतों का पालन करना चाहिए. इनमें शामिल हैं:

  • परफ़ॉर्मेंस के लिए, पीछे की ओर बदलाव करें
  • साथ मिलकर काम करने का प्लान बनाना
  • WriteControl फ़ील्ड का इस्तेमाल करके, स्थिति की एकरूपता बनाए रखना
  • टैब को ध्यान में रखना

इन सिद्धांतों के बारे में इन सेक्शन में बताया गया है.

परफ़ॉर्मेंस के लिए, पीछे की ओर बदलाव करें

documents.batchUpdate तरीका इस्तेमाल करने के लिए एक बार कॉल करने पर, अपने अनुरोधों को इंडेक्स की जगह के हिसाब से उतरते क्रम में लगाएं. इससे, डेटा जोड़ने और मिटाने की वजह से इंडेक्स में हुए बदलावों का हिसाब लगाने की ज़रूरत नहीं पड़ती.

साथ मिलकर काम करने का प्लान बनाना

दस्तावेज़ की स्थिति बदल सकती है. एक मेथड कॉल और दूसरे के बीच, साथ मिलकर काम करने वाले दूसरे लोग दस्तावेज़ को अपडेट कर सकते हैं. इस बारे में यहां दिए गए डायग्राम में बताया गया है:

किसी दस्तावेज़ में, एक मेथड कॉल से दूसरे मेथड कॉल के बीच क्या बदलाव हो सकते हैं.

अगर इंडेक्स गलत हैं, तो इससे गड़बड़ियां हो सकती हैं. जब कई उपयोगकर्ता यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके किसी दस्तावेज़ में बदलाव करते हैं, तो Google Docs इस काम को पारदर्शी तरीके से करता है. हालांकि, एपीआई क्लाइंट के तौर पर, आपके ऐप्लिकेशन को इसे मैनेज करना होगा. भले ही, आपको दस्तावेज़ पर साथ मिलकर काम करने की ज़रूरत न हो, फिर भी इसे सुरक्षित तरीके से प्रोग्राम करना ज़रूरी है. साथ ही, यह पक्का करना भी ज़रूरी है कि दस्तावेज़ की स्थिति में कोई बदलाव न हो. डेटा एक जैसा है या नहीं, यह पक्का करने के लिए, WriteControl सेक्शन देखें.

WriteControl की मदद से स्थिति को एक जैसा बनाए रखना

किसी दस्तावेज़ को पढ़ने और फिर उसे अपडेट करने पर, documents.batchUpdate तरीके में WriteControl फ़ील्ड का इस्तेमाल करके, यह कंट्रोल किया जा सकता है कि एक जैसे बदलावों को कैसे मैनेज किया जाए. WriteControl से यह तय किया जाता है कि डेटा लिखने के अनुरोधों को कैसे लागू किया जाए.

इसका इस्तेमाल करने का तरीका यहां बताया गया है:

  1. documents.get तरीके का इस्तेमाल करके दस्तावेज़ पाएं और दिए गए documents संसाधन से revisionId सेव करें.
  2. अपडेट के अनुरोध लिखें.
  3. वैकल्पिक WriteControl ऑब्जेक्ट को इनमें से किसी एक विकल्प के साथ शामिल करें:
    1. requiredRevisionId फ़ील्ड को उस दस्तावेज़ के revisionId पर सेट किया गया है जिस पर लिखने का अनुरोध लागू किया गया है. अगर एपीआई से दस्तावेज़ को पढ़ने का अनुरोध करने के बाद उसमें बदलाव किया गया है, तो लिखने का अनुरोध प्रोसेस नहीं किया जाता और गड़बड़ी का मैसेज दिखता है.
    2. targetRevisionId फ़ील्ड को उस दस्तावेज़ के revisionId पर सेट किया गया है जिसमें बदलाव करने का अनुरोध किया गया है. अगर एपीआई को पढ़ने के अनुरोध के बाद से दस्तावेज़ में बदलाव किया गया है, तो लिखने के अनुरोध में किए गए बदलाव, सहयोगियों के बदलावों पर लागू होते हैं. दस्तावेज़ में बदलाव करने के अनुरोध के नतीजे में, दस्तावेज़ में किए गए बदलावों और साथ मिलकर काम करने वाले व्यक्ति के बदलावों, दोनों को शामिल किया जाता है. कॉन्टेंट को मर्ज करने की ज़िम्मेदारी, Docs सर्वर की होती है.

WriteControl का इस्तेमाल करके, एक साथ कई अनुरोध करने का उदाहरण देखने के लिए, एक साथ कई अनुरोध करने का यह उदाहरण देखें.

टैब को ध्यान में रखना

एक दस्तावेज़ में कई टैब हो सकते हैं. इन्हें आपके एपीआई अनुरोधों में खास तरीके से हैंडल करने की ज़रूरत होती है.

इन बातों का ध्यान रखें:

  1. किसी दस्तावेज़ के सभी टैब से कॉन्टेंट पाने के लिए, documents.get तरीके में includeTabsContent पैरामीटर को true पर सेट करें. डिफ़ॉल्ट रूप से, सभी टैब का कॉन्टेंट नहीं दिखता.
  2. documents.batchUpdate तरीके में हर Request को लागू करने के लिए, टैब का (के) आईडी डालें. हर Request में, अपडेट लागू करने के लिए टैब तय करने का तरीका शामिल होता है. डिफ़ॉल्ट रूप से, अगर कोई टैब नहीं चुना गया है, तो ज़्यादातर मामलों में Request दस्तावेज़ के पहले टैब पर लागू होगा. ज़्यादा जानकारी के लिए, Request के दस्तावेज़ देखें.