অ্যাপস স্ক্রিপ্টের উন্নত পরিষেবাগুলি অভিজ্ঞ ডেভেলপারদের তাদের HTTP ইন্টারফেস ব্যবহার করার চেয়ে কম সেট আপ সহ নির্দিষ্ট পাবলিক Google API-এর সাথে সংযোগ করতে দেয়। উন্নত পরিষেবাগুলি মূলত সেই Google APIগুলির চারপাশে পাতলা মোড়ক৷ এগুলি অনেকটা Apps Script-এর অন্তর্নির্মিত পরিষেবাগুলির মতো কাজ করে —উদাহরণস্বরূপ, তারা স্বয়ংসম্পূর্ণ অফার করে এবং Apps Script স্বয়ংক্রিয়ভাবে অনুমোদনের প্রবাহ পরিচালনা করে৷ যাইহোক, একটি স্ক্রিপ্টে এটি ব্যবহার করার আগে আপনাকে অবশ্যই একটি উন্নত পরিষেবা সক্ষম করতে হবে৷
কোন Google APIগুলি উন্নত পরিষেবা হিসাবে উপলব্ধ তা দেখতে, রেফারেন্সে উন্নত Google পরিষেবা বিভাগটি সন্ধান করুন৷ আপনি যদি একটি Google API ব্যবহার করতে চান যা একটি উন্নত পরিষেবা হিসাবে উপলব্ধ নয়, তাহলে অন্য যেকোন বাহ্যিক API এর মতো এটির সাথে সংযোগ করুন৷
উন্নত সেবা নাকি HTTP?
প্রতিটি উন্নত Google পরিষেবা একটি সর্বজনীন Google API এর সাথে যুক্ত। Apps স্ক্রিপ্টে, আপনি উন্নত পরিষেবার মাধ্যমে বা UrlFetch
ব্যবহার করে সরাসরি API অনুরোধ করে এই APIগুলি অ্যাক্সেস করতে পারেন।
আপনি যদি উন্নত পরিষেবা পদ্ধতি ব্যবহার করেন , অ্যাপস স্ক্রিপ্ট অনুমোদনের প্রবাহ পরিচালনা করে এবং স্বয়ংসম্পূর্ণ সমর্থন অফার করে। যাইহোক, আপনি এটি ব্যবহার করার আগে আপনাকে অবশ্যই উন্নত পরিষেবা সক্ষম করতে হবে। উপরন্তু, কিছু উন্নত পরিষেবা শুধুমাত্র API-এ উপলব্ধ কার্যকারিতার একটি উপসেট প্রদান করে।
আপনি যদি সরাসরি API অ্যাক্সেস করতে UrlFetch
পদ্ধতি ব্যবহার করেন , তাহলে আপনি মূলত Google API-কে একটি বহিরাগত API হিসাবে বিবেচনা করছেন। এই পদ্ধতির সাহায্যে, API এর সমস্ত দিক ব্যবহার করা যেতে পারে। যাইহোক, এর জন্য আপনাকে API অনুমোদন নিজেই পরিচালনা করতে হবে। আপনাকে অবশ্যই যেকোন প্রয়োজনীয় শিরোনাম তৈরি করতে হবে এবং API প্রতিক্রিয়াগুলি পার্স করতে হবে।
সাধারণভাবে যেখানে সম্ভব একটি উন্নত পরিষেবা ব্যবহার করা সবচেয়ে সহজ এবং শুধুমাত্র UrlFetch
পদ্ধতি ব্যবহার করুন যখন উন্নত পরিষেবা আপনার প্রয়োজনীয় কার্যকারিতা প্রদান করে না।
প্রয়োজনীয়তা
আপনি একটি উন্নত পরিষেবা ব্যবহার করার আগে, আপনাকে অবশ্যই নিম্নলিখিত প্রয়োজনীয়তাগুলি পূরণ করতে হবে:
- আপনার স্ক্রিপ্ট প্রকল্পে আপনাকে অবশ্যই উন্নত পরিষেবা সক্ষম করতে হবে৷
আপনার স্ক্রিপ্ট ব্যবহার করে ক্লাউড প্ল্যাটফর্ম (GCP) প্রকল্পে উন্নত পরিষেবার সাথে সম্পর্কিত API সক্ষম করা আছে তা নিশ্চিত করতে হবে।
যদি আপনার স্ক্রিপ্ট প্রকল্পটি 8 এপ্রিল, 2019-এ বা তার পরে তৈরি একটি ডিফল্ট GCP প্রকল্প ব্যবহার করে, আপনি উন্নত পরিষেবা সক্ষম করার পরে এবং স্ক্রিপ্ট প্রকল্প সংরক্ষণ করার পরে API স্বয়ংক্রিয়ভাবে সক্ষম হয়ে যায়। আপনি যদি ইতিমধ্যে এটি না করে থাকেন, তাহলে আপনাকে Google ক্লাউড এবং Google API- এর পরিষেবার শর্তাবলীতেও সম্মত হতে বলা হতে পারে৷
যদি আপনার স্ক্রিপ্ট প্রজেক্ট একটি স্ট্যান্ডার্ড GCP প্রোজেক্ট বা একটি পুরানো ডিফল্ট GCP প্রোজেক্ট ব্যবহার করে, তাহলে আপনাকে অবশ্যই GCP প্রোজেক্টে উন্নত পরিষেবার সংশ্লিষ্ট API সক্রিয় করতে হবে। এই পরিবর্তনটি করতে আপনার অবশ্যই GCP প্রকল্পে সম্পাদনা অ্যাক্সেস থাকতে হবে।
আরও তথ্যের জন্য ক্লাউড প্ল্যাটফর্ম প্রকল্পগুলি দেখুন৷
উন্নত পরিষেবাগুলি সক্ষম করুন৷
একটি উন্নত Google পরিষেবা ব্যবহার করতে, এই নির্দেশাবলী অনুসরণ করুন:
- অ্যাপস স্ক্রিপ্ট প্রকল্প খুলুন।
- বাম দিকে, এডিটর ক্লিক করুন।
- বাম দিকে, পরিষেবাগুলির পাশে, একটি পরিষেবা ক্লিক করুন৷
- একটি উন্নত Google পরিষেবা নির্বাচন করুন এবং যোগ করুন ক্লিক করুন।
আপনি একটি উন্নত পরিষেবা সক্ষম করার পরে, এটি স্বয়ংসম্পূর্ণভাবে উপলব্ধ।
কিভাবে পদ্ধতি স্বাক্ষর নির্ধারণ করা হয়
উন্নত পরিষেবাগুলি সাধারণত সংশ্লিষ্ট পাবলিক API হিসাবে একই বস্তু, পদ্ধতির নাম এবং পরামিতি ব্যবহার করে, যদিও পদ্ধতি স্বাক্ষরগুলি অ্যাপস স্ক্রিপ্টে ব্যবহারের জন্য অনুবাদ করা হয়। স্ক্রিপ্ট সম্পাদকের স্বয়ংসম্পূর্ণ ফাংশন সাধারণত শুরু করার জন্য পর্যাপ্ত তথ্য প্রদান করে, কিন্তু নীচের নিয়মগুলি ব্যাখ্যা করে যে কীভাবে অ্যাপস স্ক্রিপ্ট একটি সর্বজনীন Google API থেকে একটি পদ্ধতি স্বাক্ষর তৈরি করে৷
Google API-এর কাছে অনুরোধ পাথ প্যারামিটার, কোয়েরি প্যারামিটার, একটি অনুরোধের বডি এবং/অথবা একটি মিডিয়া আপলোড সংযুক্তি সহ বিভিন্ন ধরণের ডেটা গ্রহণ করতে পারে। কিছু উন্নত পরিষেবা নির্দিষ্ট HTTP অনুরোধ শিরোনামও গ্রহণ করতে পারে (উদাহরণস্বরূপ, ক্যালেন্ডার উন্নত পরিষেবা )।
Google Apps স্ক্রিপ্টে সংশ্লিষ্ট পদ্ধতি স্বাক্ষরে নিম্নলিখিত আর্গুমেন্ট রয়েছে:
- রিকোয়েস্ট বডি (সাধারণত একটি রিসোর্স), একটি জাভাস্ক্রিপ্ট অবজেক্ট হিসেবে।
- পাথ বা প্রয়োজনীয় প্যারামিটার, পৃথক আর্গুমেন্ট হিসাবে।
- মিডিয়া একটি
Blob
যুক্তি হিসাবে সংযুক্তি আপলোড করে৷ - ঐচ্ছিক পরামিতি, একটি জাভাস্ক্রিপ্ট অবজেক্ট ম্যাপিং পরামিতি মান হিসাবে নাম।
- HTTP অনুরোধ শিরোনাম, একটি জাভাস্ক্রিপ্ট অবজেক্ট হিসাবে হেডার মান ম্যাপিং হেডার নাম।
পদ্ধতিতে একটি প্রদত্ত বিভাগে কোনো আইটেম না থাকলে, স্বাক্ষরের সেই অংশটি বাদ দেওয়া হয়।
সচেতন হওয়ার জন্য কিছু বিশেষ ব্যতিক্রম রয়েছে:
- মিডিয়া আপলোড গ্রহণকারী পদ্ধতিগুলির জন্য, পরামিতি
uploadType
স্বয়ংক্রিয়ভাবে সেট করা হয়। - Google API-এ
delete
নামের পদ্ধতিগুলিকে Apps স্ক্রিপ্টেremove
করা হয়েছে, যেহেতুdelete
জাভাস্ক্রিপ্টে একটি সংরক্ষিত শব্দ। - যদি একটি উন্নত পরিষেবা HTTP অনুরোধ শিরোনাম গ্রহণ করার জন্য কনফিগার করা হয়, এবং আপনি একটি অনুরোধ শিরোনাম জাভাস্ক্রিপ্ট অবজেক্ট সেট করেন, তাহলে আপনাকে অবশ্যই ঐচ্ছিক প্যারামিটার জাভাস্ক্রিপ্ট অবজেক্ট সেট করতে হবে (যদি আপনি ঐচ্ছিক প্যারামিটার ব্যবহার না করেন তাহলে একটি খালি বস্তুতে)।
উন্নত পরিষেবার জন্য সমর্থন
উন্নত পরিষেবাগুলি কেবল পাতলা মোড়ক যা Apps স্ক্রিপ্টের মধ্যে একটি Google API ব্যবহার করতে সক্ষম করে৷ যেমন, এগুলি ব্যবহার করার সময় যে কোনও সমস্যার সম্মুখীন হওয়া সাধারণত অন্তর্নিহিত API-এর একটি সমস্যা, অ্যাপস স্ক্রিপ্টের সাথে নয়।
একটি উন্নত পরিষেবা ব্যবহার করার সময় আপনি যদি কোনও সমস্যার সম্মুখীন হন, তাহলে অন্তর্নিহিত API-এর জন্য সমর্থন নির্দেশাবলী ব্যবহার করে রিপোর্ট করা উচিত। অ্যাপস স্ক্রিপ্ট রেফারেন্স বিভাগে প্রতিটি উন্নত পরিষেবা গাইডে এই সহায়তা নির্দেশাবলীর লিঙ্কগুলি প্রদান করা হয়েছে।