এইচটিএমএল সার্ভিস আপনাকে এমন ওয়েব পেজ পরিবেশন করতে দেয় যা সার্ভার-সাইড অ্যাপস স্ক্রিপ্ট ফাংশনগুলোর সাথে ইন্টারঅ্যাক্ট করতে পারে। এটি ওয়েব অ্যাপ তৈরি করতে অথবা গুগল ডক্স, গুগল শিটস এবং ফর্মস-এ কাস্টম ইউজার ইন্টারফেস যোগ করার জন্য বিশেষভাবে উপযোগী। এমনকি আপনি এটি ব্যবহার করে একটি ইমেইলের মূল অংশও তৈরি করতে পারেন।
এইচটিএমএল ফাইল তৈরি করুন
আপনার অ্যাপস স্ক্রিপ্ট প্রজেক্টে একটি HTML ফাইল যোগ করতে, এই ধাপগুলো অনুসরণ করুন:
- অ্যাপস স্ক্রিপ্ট এডিটরটি খুলুন।
- বাম দিকে, a file > HTML- এ ক্লিক করুন।
HTML ফাইলের মধ্যে আপনি বেশিরভাগ স্ট্যান্ডার্ড HTML, CSS, এবং ক্লায়েন্ট-সাইড জাভাস্ক্রিপ্ট লিখতে পারেন। পেজটি HTML5 হিসেবে পরিবেশিত হয়, যদিও HTML5-এর কিছু উন্নত বৈশিষ্ট্য উপলব্ধ নয়, যেমনটি সীমাবদ্ধতা (Restrictions) অংশে ব্যাখ্যা করা হয়েছে।
আপনার ফাইলে টেমপ্লেট স্ক্রিপলেটও অন্তর্ভুক্ত থাকতে পারে, যা ব্যবহারকারীর কাছে পৃষ্ঠা পাঠানোর আগে সার্ভারে প্রক্রিয়াজাত করা হয় — পিএইচপি-এর মতোই — যেমনটি টেমপ্লেটেড এইচটিএমএল (templated HTML) বিভাগে ব্যাখ্যা করা হয়েছে।
ওয়েব অ্যাপ হিসেবে HTML পরিবেশন করুন
HTML সার্ভিস ব্যবহার করে একটি ওয়েব অ্যাপ তৈরি করতে হলে, আপনার কোডে অবশ্যই একটি doGet ফাংশন অন্তর্ভুক্ত করতে হবে, যা স্ক্রিপ্টকে বলে দেবে কীভাবে পেজটি পরিবেশন করতে হবে। ফাংশনটিকে অবশ্যই একটি HtmlOutput অবজেক্ট রিটার্ন করতে হবে, যেমনটি এই উদাহরণে দেখানো হয়েছে।
কোড.জিএস
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index');
}Index.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
Hello, World!
</body>
</html>একবার সেই প্রাথমিক কাঠামোটি তৈরি হয়ে গেলে, আপনাকে শুধু আপনার স্ক্রিপ্টটির একটি সংস্করণ সংরক্ষণ করতে হবে, তারপর সেটিকে একটি ওয়েব অ্যাপ হিসেবে স্থাপন করতে হবে ।
স্ক্রিপ্টটি ওয়েব অ্যাপ হিসেবে ডেপ্লয় করার পর, আপনি এটি একটি গুগল সাইটেও এমবেড করতে পারবেন।
গুগল ডক্স, শীটস, গুগল স্লাইডস বা ফর্মস ইউজার ইন্টারফেস হিসেবে এইচটিএমএল পরিবেশন করুন।
আপনার স্ক্রিপ্টটি যদি ফাইলটির সাথে কন্টেইনার-বাউন্ড থাকে, তবে এইচটিএমএল সার্ভিসটি গুগল ডক্স, শীটস, স্লাইডস বা ফর্মস-এ একটি ডায়ালগ বা সাইডবার প্রদর্শন করতে পারে। গুগল ফর্মস-এ, কাস্টম ইউজার ইন্টারফেস শুধুমাত্র সেই এডিটরের কাছে দৃশ্যমান হয় যিনি ফর্মটি পরিবর্তন করার জন্য খোলেন, সেই ব্যবহারকারীর কাছে নয় যিনি উত্তর দেওয়ার জন্য ফর্মটি খোলেন।
একটি ওয়েব অ্যাপের মতো নয়, কোনো ডকুমেন্ট, স্প্রেডশীট বা ফর্মের জন্য ইউজার ইন্টারফেস তৈরি করে এমন স্ক্রিপ্টের জন্য বিশেষভাবে doGet ফাংশনের প্রয়োজন হয় না এবং আপনার স্ক্রিপ্টের কোনো সংস্করণ সংরক্ষণ বা ডিপ্লয় করারও দরকার পড়ে না। এর পরিবর্তে, যে ফাংশনটি ইউজার ইন্টারফেস খোলে, তাকে অবশ্যই আপনার HTML ফাইলটিকে একটি HtmlOutput অবজেক্ট হিসেবে সক্রিয় ডকুমেন্ট, ফর্ম বা স্প্রেডশীটের Ui অবজেক্টের showModalDialog বা showSidebar মেথডে পাস করতে হবে।
এই উদাহরণগুলিতে সুবিধার জন্য কয়েকটি অতিরিক্ত বৈশিষ্ট্য অন্তর্ভুক্ত করা হয়েছে: onOpen ফাংশনটি একটি কাস্টম মেনু তৈরি করে যা আপনাকে ইন্টারফেসটি খুলতে সাহায্য করে, এবং HTML ফাইলের বোতামটি ইন্টারফেসটি বন্ধ করার জন্য google.script.host.close কল করে।
কোড.জিএস
// Use this code for Google Docs, Slides, Forms, or Sheets.
function onOpen() {
SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.
.createMenu('Dialog')
.addItem('Open', 'openDialog')
.addToUi();
}
function openDialog() {
var html = HtmlService.createHtmlOutputFromFile('Index');
SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.
.showModalDialog(html, 'Dialog title');
}Index.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
Hello, World!
<input type="button" value="Close"
onclick="google.script.host.close()" />
</body>
</html> আপনি যখন প্রথমবার এই ইউজার ইন্টারফেসটি প্রদর্শন করতে চাইবেন, তখন আপনাকে অবশ্যই স্ক্রিপ্ট এডিটরে ম্যানুয়ালি onOpen ফাংশনটি চালাতে হবে অথবা Docs, Sheets, বা Forms এডিটরের উইন্ডোটি রিলোড করতে হবে (যা স্ক্রিপ্ট এডিটরটি বন্ধ করে দেয়)। এরপর থেকে, প্রতিবার ফাইলটি খোলার কয়েক সেকেন্ডের মধ্যেই কাস্টম মেনুটি প্রদর্শিত হবে। ইন্টারফেসটি দেখতে, Dialog > Open নির্বাচন করুন।