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

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

  • परफ़ॉर्मेंस को बेहतर बनाने के लिए, पुराने पेज पर वापस जाने की सेटिंग में बदलाव करें
  • साथ मिलकर काम करने का प्लान बनाएं
  • WriteControl फ़ील्ड का इस्तेमाल करके पक्का करें कि स्टेटस एक जैसा हो

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

परफ़ॉर्मेंस को बेहतर बनाने के लिए, पुराने पेज पर वापस जाने की सेटिंग में बदलाव करें

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

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

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

कोई दस्तावेज़, तरीके के कॉल के बीच किस तरह बदलाव कर सकता है.

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

राइटकंट्रोल की मदद से हर एक स्थिति को एक जैसा रखें

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

इसका इस्तेमाल इस तरह किया जा सकता है:

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

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