অতিরিক্ত বৈশিষ্ট্যসহ ব্যবহারকারীর ক্যালেন্ডার অ্যাক্সেস ও পরিবর্তন করার স্ক্রিপ্ট।
অ্যাডভান্সড ক্যালেন্ডার সার্ভিস আপনাকে গুগল অ্যাপস স্ক্রিপ্টে পাবলিক গুগল ক্যালেন্ডার এপিআই ব্যবহার করার সুযোগ দেয়। অ্যাপস স্ক্রিপ্টের বিল্ট-ইন ক্যালেন্ডার সার্ভিসের মতোই, এই এপিআই স্ক্রিপ্টগুলোকে ব্যবহারকারীর গুগল ক্যালেন্ডার অ্যাক্সেস ও পরিবর্তন করার অনুমতি দেয়, যার মধ্যে ব্যবহারকারীর সাবস্ক্রাইব করা অতিরিক্ত ক্যালেন্ডারগুলোও অন্তর্ভুক্ত। বেশিরভাগ ক্ষেত্রে, বিল্ট-ইন সার্ভিসটি ব্যবহার করা সহজ, কিন্তু এই অ্যাডভান্সড সার্ভিসটি কিছু অতিরিক্ত ফিচার প্রদান করে, যার মধ্যে স্বতন্ত্র ইভেন্টের জন্য ব্যাকগ্রাউন্ড কালার সেট করার সুবিধাও রয়েছে।
এটি একটি উন্নত পরিষেবা যা ব্যবহারের আগে সক্রিয় করতে হবে।
রেফারেন্স
এই পরিষেবা সম্পর্কে বিস্তারিত তথ্যের জন্য, পাবলিক ক্যালেন্ডার এপিআই-এর রেফারেন্স ডকুমেন্টেশন দেখুন। অ্যাপস স্ক্রিপ্টের সমস্ত অ্যাডভান্সড পরিষেবার মতো, অ্যাডভান্সড ক্যালেন্ডার পরিষেবাটিও পাবলিক এপিআই-এর মতোই একই অবজেক্ট, মেথড এবং প্যারামিটার ব্যবহার করে। আরও তথ্যের জন্য, ‘মেথড সিগনেচার কীভাবে নির্ধারণ করা হয় ’ দেখুন।
সমস্যা জানাতে এবং অন্যান্য সহায়তা পেতে, ক্যালেন্ডার সহায়তা নির্দেশিকা দেখুন।
HTTP অনুরোধ হেডার
উন্নত ক্যালেন্ডার পরিষেবাটি If-Match এবং If-None-Match HTTP অনুরোধ হেডারগুলো গ্রহণ করতে পারে। বিস্তারিত জানতে, রেফারেন্স ডকুমেন্টেশন দেখুন।
নমুনা কোড
নিম্নলিখিত নমুনা কোডটিতে API-এর সংস্করণ ৩ ব্যবহার করা হয়েছে।
ইভেন্ট তৈরি করা
নিম্নলিখিত উদাহরণটিতে দেখানো হয়েছে কীভাবে ব্যবহারকারীর ডিফল্ট ক্যালেন্ডারে একটি ইভেন্ট তৈরি করতে হয়।
ক্যালেন্ডার তালিকাভুক্ত করা
নিম্নলিখিত উদাহরণটি দেখায় কিভাবে ব্যবহারকারীর ক্যালেন্ডার তালিকায় প্রদর্শিত ক্যালেন্ডারগুলির বিবরণ পুনরুদ্ধার করতে হয়।
তালিকাভুক্ত ইভেন্ট
নিম্নলিখিত উদাহরণটিতে দেখানো হয়েছে কীভাবে ব্যবহারকারীর ডিফল্ট ক্যালেন্ডারে পরবর্তী ১০টি আসন্ন ইভেন্টের তালিকা তৈরি করতে হয়।
শর্তসাপেক্ষে একটি ইভেন্ট পরিবর্তন করা
নিম্নলিখিত উদাহরণটি দেখায় কিভাবে If-Match হেডার ব্যবহার করে শর্তসাপেক্ষে একটি ক্যালেন্ডার ইভেন্ট আপডেট করা যায়। স্ক্রিপ্টটি একটি নতুন ইভেন্ট তৈরি করে, ৩০ সেকেন্ড অপেক্ষা করে এবং ইভেন্টটি তৈরি হওয়ার পর থেকে যদি এর বিবরণে কোনো পরিবর্তন না হয়ে থাকে, তবেই ইভেন্টটি আপডেট করে।
শর্তসাপেক্ষে একটি ইভেন্ট পুনরুদ্ধার করা
নিম্নলিখিত উদাহরণটি দেখায় কিভাবে If-None-Match হেডার ব্যবহার করে শর্তসাপেক্ষে একটি ক্যালেন্ডার ইভেন্ট আনা যায়। স্ক্রিপ্টটি একটি নতুন ইভেন্ট তৈরি করে, তারপর ৩০ সেকেন্ড ধরে পরিবর্তনের জন্য ইভেন্টটি পোল করে। যখনই ইভেন্টটি পরিবর্তিত হয়, নতুন সংস্করণটি আনা হয়।
ইভেন্ট সিঙ্ক্রোনাইজ করা
নিম্নলিখিত উদাহরণটি দেখায় কিভাবে সিঙ্ক টোকেন ব্যবহার করে ইভেন্ট পুনরুদ্ধার করতে হয়। যখন আপনি একটি ক্যালেন্ডার অ্যাডভান্সড সার্ভিস অনুরোধে একটি সিঙ্ক টোকেন অন্তর্ভুক্ত করেন, তখন প্রাপ্ত প্রতিক্রিয়াটিতে কেবল সেই আইটেমগুলিই অন্তর্ভুক্ত থাকে যা টোকেনটি তৈরি হওয়ার পর থেকে পরিবর্তিত হয়েছে, যা আরও কার্যকর প্রক্রিয়াকরণ সক্ষম করে। সিঙ্কিং প্রক্রিয়া সম্পর্কে আরও বিস্তারিত জানতে ‘দক্ষতার সাথে রিসোর্স সিঙ্ক্রোনাইজ করুন’ দেখুন।
নিম্নলিখিত উদাহরণটিতে পূর্ববর্তী উদাহরণগুলিতে সংজ্ঞায়িত getRelativeDate(daysOffset, hour) পদ্ধতিটি ব্যবহার করা হয়েছে।