এই নির্দেশিকাটিতে গুগল ডক্স এপিআই (Google Docs API) গঠনকারী প্রধান অনুরোধ ও প্রতিক্রিয়া পদ্ধতিগুলো এবং কীভাবে আপনি একসাথে একাধিক ডকুমেন্ট আপডেট করতে পারেন, তা তুলে ধরা হয়েছে।
আপনি একটি HTTP অনুরোধের মাধ্যমে, অথবা কোনো ভাষা-নির্দিষ্ট ক্লায়েন্ট লাইব্রেরিতে মেথড ইনভোকেশন ব্যবহার করে গুগল ডক্স এপিআই চালু করতে পারেন। এই দুটি পদ্ধতি মূলত একই।
গুগল ডক্স এপিআই একটি HTTP রেসপন্স প্রদান করে, যাতে সাধারণত রিকোয়েস্ট আহ্বানের ফলাফল অন্তর্ভুক্ত থাকে। ক্লায়েন্ট লাইব্রেরি ব্যবহার করে রিকোয়েস্ট করার সময়, রেসপন্সগুলো ভাষা-নির্দিষ্ট উপায়ে ফেরত দেওয়া হয়।
অনুরোধ পদ্ধতি
ডকস এপিআই নিম্নলিখিত মেথডগুলো সমর্থন করে:
documents.create: একটি খালি গুগল ডক্স ডকুমেন্ট তৈরি করুন।documents.get: নির্দিষ্ট ডকুমেন্টটির একটি সম্পূর্ণ ইনস্ট্যান্স ফেরত দেয়। আপনি ফেরত আসা JSON পার্স করে ডকুমেন্টের বিষয়বস্তু, ফরম্যাটিং এবং অন্যান্য বৈশিষ্ট্য বের করতে পারেন।documents.batchUpdate: ডকুমেন্টে স্বয়ংক্রিয়ভাবে প্রয়োগ করার জন্য সম্পাদনার অনুরোধগুলির একটি তালিকা জমা দেয় এবং ফলাফলের একটি তালিকা ফেরত দেয়।
documents.get এবং documents.batchUpdate মেথডগুলোতে টার্গেট ডকুমেন্ট নির্দিষ্ট করার জন্য প্যারামিটার হিসেবে একটি documentId প্রয়োজন হয়। ` documents.create মেথডটি তৈরি করা ডকুমেন্টের একটি ইনস্ট্যান্স রিটার্ন করে, যেখান থেকে আপনি documentId পড়তে পারেন। documentId সম্পর্কে আরও তথ্যের জন্য, `Document ID` দেখুন।
প্রকাশিত নথি
আপনি প্রকাশিত ডকুমেন্ট পুনরুদ্ধার করতে documents.get মেথডটি ব্যবহার করতে পারবেন না। একবার প্রকাশিত হলে, পাবলিক ডকুমেন্টগুলো একটি ভিন্ন URL ফরম্যাট ব্যবহার করে, যার একটি স্বতন্ত্র পাবলিক documentId । documents.get মেথডের সাথে পাবলিক documentId ব্যবহার করার চেষ্টা করলে 404 HTTP স্ট্যাটাস কোড রেসপন্স পাওয়া যায়।
একইভাবে, আপনি Drive API-এর files.copy মেথড ব্যবহার করে কোনো প্রকাশিত ডকুমেন্ট কপি করতে পারবেন না।
প্রকাশিত কোনো ডকুমেন্ট পুনরুদ্ধার বা কপি করতে হলে, আপনাকে অবশ্যই মূল documentId ব্যবহার করতে হবে। প্রকাশিত কোনো ইউআরএল (URL) থেকে মূল documentId বের করার কোনো পদ্ধতি নেই।
আরও তথ্যের জন্য দেখুন:
ব্যাচ আপডেট
documents.batchUpdate মেথডটি request অবজেক্টের একটি তালিকা গ্রহণ করে, যার প্রতিটি একটি নির্দিষ্ট রিকোয়েস্ট সম্পাদনের জন্য নির্দেশ করে। উদাহরণস্বরূপ, একটি প্যারাগ্রাফ ফরম্যাট করা এবং তারপর একটি ইনলাইন ইমেজ যোগ করা। প্রতিটি রিকোয়েস্ট প্রয়োগ করার আগে যাচাই করা হয় এবং ব্যাচ রিকোয়েস্টে যে ক্রমে সেগুলো থাকে, সেই ক্রমেই প্রক্রিয়া করা হয়।
ব্যাচ আপডেটের সমস্ত অনুরোধ অ্যাটমিকভাবে প্রয়োগ করা হয়। অর্থাৎ, যদি কোনো অনুরোধ বৈধ না হয়, তাহলে পুরো আপডেটটি অসফল হয় এবং (সম্ভাব্য নির্ভরশীল) কোনো পরিবর্তনই প্রয়োগ করা হয় না।
কিছু documents.batchUpdate মেথড প্রয়োগকৃত অনুরোধগুলো সম্পর্কে তথ্যসহ প্রতিক্রিয়া প্রদান করে। এই মেথডগুলো একটি প্রতিক্রিয়া বডি ফেরত দেয়, যাতে response অবজেক্টের একটি তালিকা থাকে। অন্যান্য অনুরোধের ক্ষেত্রে তথ্য ফেরত দেওয়ার প্রয়োজন হয় না এবং সেগুলো একটি খালি উত্তর প্রদর্শন করে। প্রতিক্রিয়া তালিকার অবজেক্টগুলো সংশ্লিষ্ট অনুরোধের মতোই একই সূচক ক্রমে থাকে।
একসাথে অনেকগুলো অনুরোধ করার একটি জনপ্রিয় প্যাটার্ন দেখতে এইরকম:
requests = []
requests.append(first request)
requests.append(second request)
...
body = ... & requests & ...
...batchUpdate(body)
আপনার Docs API কলগুলিকে কীভাবে ব্যাচ করবেন তার সম্পূর্ণ বিবরণের জন্য ব্যাচ রিকোয়েস্টের সেরা অনুশীলনগুলি দেখুন এবং রিকোয়েস্ট ও রেসপন্স টাইপগুলির জন্য documents.batchUpdate রেফারেন্স ডকুমেন্টেশন দেখুন।
ব্যাচ আপডেট অপারেশন
বিভিন্ন ধরণের ব্যাচ আপডেট অনুরোধ রয়েছে। নিচে অনুরোধের প্রকারভেদগুলো বিভিন্ন শ্রেণীতে ভাগ করে বিস্তারিতভাবে বর্ণনা করা হলো।