সেরা ফলাফলের জন্য সর্বোত্তম অনুশীলন

গুগল ডক্স এপিআই ব্যবহার করার সময় কয়েকটি নীতি মেনে চলা উচিত। এগুলো হলো:

  • দক্ষতার জন্য উল্টো দিক থেকে সম্পাদনা করুন।
  • সহযোগিতার পরিকল্পনা
  • WriteControl ফিল্ড ব্যবহার করে অবস্থার সামঞ্জস্য নিশ্চিত করুন।
  • বিবেচনায় নিন

পরবর্তী অধ্যায়গুলোতে এই নীতিগুলো ব্যাখ্যা করা হয়েছে।

দক্ষতার জন্য উল্টো দিক থেকে সম্পাদনা করুন।

documents.batchUpdate মেথডের একটিমাত্র কলের মধ্যে, আপনার অনুরোধগুলোকে ইনডেক্স অবস্থানের অবরোহী ক্রমে সাজান। এর ফলে সংযোজন এবং অপসারণের কারণে ইনডেক্সের পরিবর্তন গণনা করার প্রয়োজন হয় না।

সহযোগিতার পরিকল্পনা

ডকুমেন্টের অবস্থার পরিবর্তন হতে পারে। একটি মেথড কল থেকে অন্য মেথড কলের মধ্যে, অন্যান্য সহযোগীরা ডকুমেন্টটি আপডেট করতে পারেন, যেমনটি নিম্নলিখিত ডায়াগ্রামে দেখানো হয়েছে:

মেথড কলের মধ্যে একটি ডকুমেন্ট কীভাবে পরিবর্তিত হতে পারে

আপনার ইনডেক্স ভুল থাকলে এর ফলে ত্রুটি দেখা দিতে পারে। একাধিক ব্যবহারকারী UI ব্যবহার করে একটি ডকুমেন্ট সম্পাদনা করলে, গুগল ডক্স স্বয়ংক্রিয়ভাবে এর ব্যবস্থা করে। তবে, একটি API ক্লায়েন্ট হিসেবে আপনার অ্যাপকেই এটি পরিচালনা করতে হবে। ডকুমেন্টে সম্মিলিত কাজের প্রত্যাশা না থাকলেও, সতর্কতামূলকভাবে প্রোগ্রামিং করা এবং ডকুমেন্টের অবস্থা যেন সামঞ্জস্যপূর্ণ থাকে তা নিশ্চিত করা জরুরি। সামঞ্জস্য নিশ্চিত করার একটি উপায় জানতে WriteControl সেকশনটি পর্যালোচনা করুন।

WriteControl-এর মাধ্যমে অবস্থার সামঞ্জস্য স্থাপন করুন

যখন আপনি কোনো ডকুমেন্ট পড়েন এবং তারপর আপডেট করেন, তখন documents.batchUpdate মেথডের WriteControl ফিল্ড ব্যবহার করে আপনি প্রতিযোগী পরিবর্তনগুলো কীভাবে পরিচালনা করা হবে তার আচরণ নিয়ন্ত্রণ করতে পারেন। লেখার অনুরোধগুলো কীভাবে কার্যকর করা হবে, তার ওপর WriteControl কর্তৃত্ব প্রদান করে।

যেভাবে ব্যবহার করবেন:

  1. documents.get মেথড ব্যবহার করে ডকুমেন্টটি সংগ্রহ করুন এবং ফেরত আসা documents রিসোর্স থেকে revisionId টি সংরক্ষণ করুন।
  2. আপনার আপডেট অনুরোধগুলো রচনা করুন।
  3. দুটি বিকল্পের মধ্যে একটি সহ একটি ঐচ্ছিক WriteControl অবজেক্ট অন্তর্ভুক্ত করুন:
    1. ` requiredRevisionId ফিল্ডটি সেই ডকুমেন্টের ` revisionId তে সেট করা হয়, যেটির উপর রাইট রিকোয়েস্টটি প্রয়োগ করা হয়েছে। যদি এপিআই রিড রিকোয়েস্টের পর ডকুমেন্টটি পরিবর্তিত হয়ে থাকে, তাহলে রাইট রিকোয়েস্টটি প্রসেস করা হয় না এবং এটি একটি এরর রিটার্ন করে।
    2. targetRevisionId ফিল্ডটি সেই ডকুমেন্টের ` revisionId তে সেট করা হয়, যেটির উপর রাইট রিকোয়েস্টটি প্রয়োগ করা হয়েছে। যদি এপিআই রিড রিকোয়েস্টের পর ডকুমেন্টটি পরিবর্তিত হয়ে থাকে, তবে রাইট রিকোয়েস্টের পরিবর্তনগুলো কোলাবোরেটরের করা পরিবর্তনগুলোর উপর প্রয়োগ করা হয়। রাইট রিকোয়েস্টের ফলাফলে, রাইট রিকোয়েস্টের পরিবর্তন এবং কোলাবোরেটরের পরিবর্তন উভয়ই অন্তর্ভুক্ত হয়ে ডকুমেন্টটির একটি নতুন রিভিশন তৈরি হয়। কন্টেন্ট মার্জ করার দায়িত্ব ডকস সার্ভারের।

WriteControl ব্যবহার করে কীভাবে একটি ব্যাচ রিকোয়েস্ট তৈরি করতে হয়, তার একটি উদাহরণের জন্য এই ব্যাচ রিকোয়েস্ট উদাহরণটি দেখুন।

বিবেচনায় নিন

একটি একক ডকুমেন্টে একাধিক ট্যাব থাকতে পারে, যার জন্য আপনার API অনুরোধগুলিতে বিশেষ ব্যবস্থাপনার প্রয়োজন হয়।

যা মনে রাখতে হবে তা হলো:

  1. একটি ডকুমেন্টের সমস্ত ট্যাবের কন্টেন্ট পেতে documents.get মেথডে includeTabsContent প্যারামিটারটি true তে সেট করুন। ডিফল্টরূপে, সব ট্যাবের কন্টেন্ট ফেরত দেওয়া হয় না।
  2. documents.batchUpdate মেথডে প্রতিটি Request প্রয়োগ করার জন্য ট্যাব(গুলি)র আইডি উল্লেখ করুন। প্রতিটি Request এ আপডেটটি প্রয়োগ করার জন্য ট্যাবগুলি নির্দিষ্ট করার একটি উপায় অন্তর্ভুক্ত থাকে। ডিফল্টরূপে, যদি কোনো ট্যাব নির্দিষ্ট করা না থাকে, তাহলে Request টি বেশিরভাগ ক্ষেত্রে ডকুমেন্টের প্রথম ট্যাবে প্রয়োগ করা হবে। বিস্তারিত জানার জন্য Request এর ডকুমেন্টেশন দেখুন।