যা বিভিন্ন MIME ধরণের কাঁচা টেক্সট কন্টেন্ট ফেরত দেয়।
যখন একটি স্ক্রিপ্ট ওয়েব অ্যাপ হিসেবে প্রকাশিত হয়, তখন স্ক্রিপ্টের URL-এ অনুরোধ করা হলে কলব্যাক ফাংশন doGet এবং doPost কার্যকর করে। HTML পরিষেবা দিয়ে তৈরি একটি ইউজার ইন্টারফেস অবজেক্ট ফেরত দেওয়ার পরিবর্তে, Content পরিষেবা কাঁচা টেক্সট কন্টেন্ট ফেরত দিতে পারে। এমন স্ক্রিপ্ট লিখুন যা পরিষেবা হিসেবে কাজ করে, GET এবং POST অনুরোধের প্রতিক্রিয়া জানায় এবং বিভিন্ন MIME ধরণের ডেটা পরিবেশন করে।
মূল বিষয়গুলি
নিম্নলিখিত উদাহরণে কন্টেন্ট পরিষেবাটি কীভাবে ব্যবহার করতে হয় তা দেখানো হয়েছে:
function doGet() {
return ContentService.createTextOutput('Hello, world!');
}
স্ক্রিপ্টটিকে একটি ওয়েব অ্যাপ হিসেবে স্থাপন করুন । ইউজার ইন্টারফেস পরিবেশনের মতো একই ধাপগুলি অনুসরণ করুন। স্ক্রিপ্টের URL-এ যখন একটি GET অনুরোধ করা হয়, তখন Hello, world! লেখাটি ফিরে আসে। প্লেইন টেক্সট ছাড়াও, পরিষেবাটি ATOM, CSV, iCal, JavaScript, JSON, RSS, vCard এবং XML কন্টেন্ট ফেরত দিতে সহায়তা করে।
RSS ফিড পরিবেশন করুন
কোনও RSS ফিডের কন্টেন্ট পরিবর্তন করতে ফিল্টার করুন। উদাহরণস্বরূপ, মোবাইলে আরও ভালোভাবে দেখার জন্য ফিডে সরাসরি অল্টারনেট টেক্সট অন্তর্ভুক্ত করার জন্য একটি XKCD ফিড সম্পাদনা করুন।
function doGet() {
var feed = UrlFetchApp.fetch('http://xkcd.com/rss.xml').getContentText();
feed = feed.replace(
/(<img.*?alt="(.*?)".*?>)/g,
'$1' + new Array(10).join('<br />') + '$2');
return ContentService.createTextOutput(feed)
.setMimeType(ContentService.MimeType.RSS);
}
কোডটিতে নিম্নলিখিত উপাদানগুলি রয়েছে। মূল XKCD RSS ফিড আনতে URL Fetch পরিষেবা ব্যবহার করুন। প্রতিস্থাপনগুলি তৈরি করতে একটি স্ট্যান্ডার্ড জাভাস্ক্রিপ্ট রেগুলার এক্সপ্রেশন ব্যবহার করুন। সম্পাদিত ফিডটি একটি TextOutput অবজেক্টে মুড়িয়ে MIME টাইপটি RSS এ সেট করুন।
এটি কার্যকরভাবে দেখতে, স্ক্রিপ্টটি একটি ওয়েব অ্যাপ হিসেবে প্রকাশ করুন এবং বেনামী অ্যাক্সেসের অনুমতি দিন। আপনার RSS রিডারে পরিষেবাটির URL যোগ করুন অথবা সরাসরি একটি ওয়েব ব্রাউজারে এটি দেখুন।
স্ক্রিপ্ট থেকে JSON পরিবেশন করুন
অন্যান্য স্ক্রিপ্ট, ওয়েবসাইট এবং পরিষেবাগুলিতে JSON পরিবেশন করতে Content পরিষেবা ব্যবহার করুন। নিম্নলিখিত স্ক্রিপ্টটি এমন একটি পরিষেবা প্রয়োগ করে যা একটি নির্দিষ্ট সময়ে একটি ক্যালেন্ডার স্লট খোলা আছে কিনা তা পরীক্ষা করে।
function doGet(request) {
var events = CalendarApp.getEvents(
new Date(Number(request.parameters.start) * 1000),
new Date(Number(request.parameters.end) * 1000));
var result = {
available: events.length == 0
};
return ContentService.createTextOutput(JSON.stringify(result))
.setMimeType(ContentService.MimeType.JSON);
}
এটি একটি বেনামী ওয়েব অ্যাপ হিসেবে প্রকাশ করুন। ব্যবহারকারীরা পরিষেবা URL-এর শেষে URL প্যারামিটার যোগ করতে পারেন। start এবং end প্যারামিটারগুলি স্ট্যান্ডার্ড ইউনিক্স যুগে একটি সময়সীমা নির্দিষ্ট করে।
curl -L URL_OF_YOUR_SCRIPT?start=1325437200&end=1325439000
পরিষেবাটি JSON প্রদান করে যা ক্যালেন্ডারটি সেই পরিসরে খোলা আছে কিনা তা রিপোর্ট করে।
{"available":true}
ওয়েব পৃষ্ঠাগুলিতে JSONP পরিবেশন করুন
সামান্য পরিবর্তনের মাধ্যমে, আপনার JSON পরিষেবাটি JSONP হয়ে যাবে যা ব্রাউজারে JavaScript থেকে কল করা যাবে।
function doGet(request) {
var events = CalendarApp.getEvents(
new Date(Number(request.parameters.start) * 1000),
new Date(Number(request.parameters.end) * 1000));
var result = {
available: events.length == 0
};
return ContentService.createTextOutput(
request.parameters.prefix + '(' + JSON.stringify(result) + ')')
.setMimeType(ContentService.MimeType.JAVASCRIPT);
}
ব্রাউজার থেকে এই পরিষেবাটি কল করতে, পরিষেবা URL-এ একটি src অ্যাট্রিবিউট সেট করে একটি স্ক্রিপ্ট ট্যাগ তৈরি করুন এবং একটি অতিরিক্ত prefix প্যারামিটার ব্যবহার করুন। এটি আপনার ক্লায়েন্ট-সাইড জাভাস্ক্রিপ্টের ফাংশনের নাম যা পরিষেবা দ্বারা ফেরত দেওয়া মান দিয়ে কল করা হয়।
<script src="URL_OF_YOUR_SCRIPT?start=1325437200&end=1325439000&prefix=alert"></script>
এই উদাহরণে ব্রাউজারে একটি মেসেজ বক্স দেখানো হয়েছে যেখানে সার্ভিস আউটপুট থাকবে, যেখানে ব্রাউজারের বিল্ট-ইন alert ফাংশনটি প্রিফিক্স হিসেবে ব্যবহার করা হবে। ফিরে আসা জাভাস্ক্রিপ্ট কোডটি দেখতে এরকম দেখাচ্ছে:
alert({"available":true})
JSONP ব্যবহার করার সময় সাবধান থাকুন। যেহেতু যে কেউ তাদের ওয়েব পৃষ্ঠায় স্ক্রিপ্ট ট্যাগ এম্বেড করতে পারে, তাই কোনও ক্ষতিকারক ওয়েবসাইট পরিদর্শন করার সময় আপনাকে প্রতারণার শিকার হতে হতে পারে, যা পরে ফেরত আসা ডেটা ক্যাপচার করতে পারে। নিশ্চিত করুন যে JSONP স্ক্রিপ্টগুলি কেবল পঠনযোগ্য এবং কেবল অ-সংবেদনশীল তথ্য ফেরত দেয়।
পুনঃনির্দেশনা
নিরাপত্তার জন্য, কন্টেন্ট পরিষেবা দ্বারা ফেরত পাঠানো কন্টেন্ট script.googleusercontent.com এ একটি এককালীন URL এ পুনঃনির্দেশিত করা হয়। যদি আপনি অন্য অ্যাপ্লিকেশনে ডেটা ফেরত দেওয়ার জন্য কন্টেন্ট পরিষেবা ব্যবহার করেন, তাহলে নিশ্চিত করুন যে HTTP ক্লায়েন্টটি পুনঃনির্দেশ অনুসরণ করার জন্য কনফিগার করা আছে। curl কমান্ড-লাইন ইউটিলিটির জন্য, -L পতাকা যুক্ত করুন। আরও তথ্যের জন্য আপনার HTTP ক্লায়েন্টের ডকুমেন্টেশন পরীক্ষা করুন।