CalDAV হল WebDAV-এর একটি এক্সটেনশন যা ক্লায়েন্টদের রিমোট সার্ভারে ক্যালেন্ডার তথ্য অ্যাক্সেস করার জন্য একটি মান প্রদান করে।
গুগল একটি CalDAV ইন্টারফেস প্রদান করে যা আপনি CalDAV প্রোটোকল ব্যবহার করে ক্যালেন্ডার দেখতে এবং পরিচালনা করতে পারেন।
স্পেসিফিকেশন
প্রতিটি প্রাসঙ্গিক স্পেসিফিকেশনের জন্য, গুগলের CalDAV সাপোর্ট নিম্নরূপ:
- rfc4918: ওয়েব ডিস্ট্রিবিউটেড অথরিং এবং ভার্সনিং (WebDAV) এর জন্য HTTP এক্সটেনশন
- HTTP পদ্ধতিগুলি
GET,PUT,HEAD,DELETE,POST,OPTIONS,PROPFINDএবংPROPPATCHসমর্থন করে। - HTTP পদ্ধতি
LOCK,UNLOCK,COPY,MOVE, অথবাMKCOL, অথবাIf*হেডার (If-Matchব্যতীত) সমর্থন করে না। - ইচ্ছাকৃত (ব্যবহারকারী-সংজ্ঞায়িত) WebDAV বৈশিষ্ট্য সমর্থন করে না।
- WebDAV অ্যাক্সেস কন্ট্রোল (rfc3744) সমর্থন করে না।
- HTTP পদ্ধতিগুলি
- rfc4791: WebDAV (CalDAV) তে ক্যালেন্ডারিং এক্সটেনশন
- HTTP পদ্ধতি
REPORTসমর্থন করে। free-busy-query ছাড়া সকল রিপোর্ট বাস্তবায়িত হয়। - HTTP পদ্ধতি
MKCALENDARসমর্থন করে না। -
AUDIOঅ্যাকশন সমর্থন করে না।
- HTTP পদ্ধতি
- rfc5545: আইক্যালেন্ডার
- CalDAV ইন্টারফেসে প্রকাশিত ডেটা iCalendar স্পেসিফিকেশন অনুসারে ফর্ম্যাট করা হয়।
- বর্তমানে
VTODOবাVJOURNALডেটা সমর্থন করে না। - ব্যবহারকারী-সেটেবল URL বৈশিষ্ট্যগুলিকে অনুমতি দেওয়ার জন্য Apple iCal® এক্সটেনশন সমর্থন করে না।
- rfc6578: WebDAV-এর জন্য সংগ্রহ সিঙ্ক্রোনাইজেশন
- প্রাথমিক সিঙ্কের পরে ক্লায়েন্ট অ্যাপ্লিকেশনগুলিকে অবশ্যই এই মোডে স্যুইচ করতে হবে।
- rfc6638: CalDAV-তে এক্সটেনশন নির্ধারণ করা
- একটি তুচ্ছ "ইনবক্স" সমর্থন করে, যা সর্বদা খালি থাকে।
- আপনার প্রাপ্ত আমন্ত্রণগুলি আপনার "ইনবক্সে" রাখার পরিবর্তে স্বয়ংক্রিয়ভাবে আপনার "ইভেন্ট" সংগ্রহে পৌঁছে দেওয়া হয়।
- মুক্ত-ব্যস্ত লুকআপ সমর্থন করে না।
- caldav-ctag-02: CalDAV-তে ক্যালেন্ডার সংগ্রহ সত্তা ট্যাগ (CTag)
- ক্যালেন্ডার
ctagহলো একটি রিসোর্সetagমতো; ক্যালেন্ডারের যেকোনো কিছু পরিবর্তন হলে এটি পরিবর্তিত হয়। এটি ক্লায়েন্ট অ্যাপ্লিকেশনটিকে দ্রুত নির্ধারণ করতে দেয় যে এটির কোনও পরিবর্তিত ইভেন্ট সিঙ্ক্রোনাইজ করার প্রয়োজন নেই।
- ক্যালেন্ডার
- ক্যালেন্ডার-প্রক্সি: CalDAV-তে ক্যালেন্ডার ব্যবহারকারী প্রক্সি কার্যকারিতা
- iOS ডিভাইসগুলি থেকে ক্যালেন্ডার সিঙ্কিং এর কর্মক্ষমতা উন্নত করতে, যেগুলি ডেলিগেশান সমর্থন করে না, iOS UserAgent দিয়ে
calendar-proxy-read-forবাcalendar-proxy-write-forপ্রপার্টি ব্যবহার করা ব্যর্থ হবে।
- iOS ডিভাইসগুলি থেকে ক্যালেন্ডার সিঙ্কিং এর কর্মক্ষমতা উন্নত করতে, যেগুলি ডেলিগেশান সমর্থন করে না, iOS UserAgent দিয়ে
আমরা এখনও সমস্ত প্রাসঙ্গিক স্পেসিফিকেশনের সম্পূর্ণ বাস্তবায়ন প্রদান করিনি। তবে, অ্যাপলের ক্যালেন্ডার অ্যাপের মতো অনেক ক্লায়েন্টের জন্য CalDAV প্রোটোকল সঠিকভাবে ইন্টারঅপারেট করা উচিত।
দ্রষ্টব্য: অ্যাকাউন্টের নিরাপত্তার জন্য এবং অপব্যবহার রোধ করার জন্য, Google CalDAV এর মাধ্যমে ডেটা অ্যাক্সেস করে এমন ক্লায়েন্ট অ্যাপ্লিকেশনগুলিতে কুকি সেট করতে পারে।
আপনার ক্লায়েন্ট আইডি তৈরি করা হচ্ছে
CalDAV API ব্যবহার করার জন্য আপনার একটি Google অ্যাকাউন্ট থাকা প্রয়োজন। যদি আপনার ইতিমধ্যেই একটি অ্যাকাউন্ট থাকে যা আপনি ব্যবহার করতে পারেন, তাহলে আপনার সবকিছু ঠিক আছে।
CalDAV API-তে অনুরোধ পাঠানোর আগে, আপনাকে একটি প্রকল্প তৈরি করে Google API কনসোলে আপনার ক্লায়েন্ট নিবন্ধন করতে হবে।
গুগল এপিআই কনসোলে যান। প্রজেক্ট তৈরি করুন এ ক্লিক করুন, একটি নাম লিখুন এবং তৈরি করুন এ ক্লিক করুন।
পরবর্তী ধাপ হল CalDAV API সক্রিয় করা।আপনার প্রকল্পের জন্য একটি API সক্ষম করতে, নিম্নলিখিতগুলি করুন:
- গুগল এপিআই কনসোলে এপিআই লাইব্রেরি খুলুন । অনুরোধ করা হলে, একটি প্রকল্প নির্বাচন করুন অথবা একটি নতুন তৈরি করুন। এপিআই লাইব্রেরি পণ্য পরিবার এবং জনপ্রিয়তা অনুসারে গোষ্ঠীভুক্ত সমস্ত উপলব্ধ এপিআই তালিকাভুক্ত করে।
- যদি আপনি যে API টি সক্রিয় করতে চান তা তালিকায় দৃশ্যমান না হয়, তাহলে এটি খুঁজে পেতে অনুসন্ধান ব্যবহার করুন।
- আপনি যে API টি সক্রিয় করতে চান তা নির্বাচন করুন, তারপর সক্ষম করুন বোতামে ক্লিক করুন।
- অনুরোধ করা হলে, বিলিং সক্ষম করুন।
- যদি অনুরোধ করা হয়, তাহলে API এর পরিষেবার শর্তাবলী গ্রহণ করুন।
আপনার প্রকল্পের ক্লায়েন্ট আইডি এবং ক্লায়েন্ট গোপন খুঁজে পেতে, নিম্নলিখিতগুলি করুন:
- একটি বিদ্যমান OAuth 2.0 শংসাপত্র নির্বাচন করুন অথবা শংসাপত্র পৃষ্ঠাটি খুলুন।
- যদি আপনি ইতিমধ্যেই এটি না করে থাকেন, তাহলে Create credentials > OAuth client ID এ ক্লিক করে এবং credentials তৈরি করার জন্য প্রয়োজনীয় তথ্য প্রদান করে আপনার প্রোজেক্টের OAuth 2.0 শংসাপত্র তৈরি করুন।
- OAuth 2.0 ক্লায়েন্ট আইডি বিভাগে ক্লায়েন্ট আইডি খুঁজুন। বিস্তারিত জানার জন্য, ক্লায়েন্ট আইডিতে ক্লিক করুন।
গুগলের CalDAV সার্ভারের সাথে সংযোগ স্থাপন করা হচ্ছে
CalDAV ইন্টারফেস ব্যবহার করার জন্য, একটি ক্লায়েন্ট প্রোগ্রাম প্রাথমিকভাবে দুটি শুরুর বিন্দুর একটিতে ক্যালেন্ডার সার্ভারের সাথে সংযোগ স্থাপন করে। উভয় ক্ষেত্রেই, সংযোগটি HTTPS এর মাধ্যমে তৈরি করতে হবে এবং OAuth 2.0 প্রমাণীকরণ স্কিম ব্যবহার করতে হবে। CalDAV সার্ভার কোনও অনুরোধ প্রমাণীকরণ করতে অস্বীকার করবে যদি না এটি একটি Google অ্যাকাউন্টের OAuth 2.0 প্রমাণীকরণ সহ HTTPS এর মাধ্যমে আসে। HTTP এর মাধ্যমে সংযোগ করার চেষ্টা করা বা মৌলিক প্রমাণীকরণ ব্যবহার করার ফলে একটি HTTP 401 Unauthorized স্থিতি কোড তৈরি হয়।
যদি ক্লায়েন্ট প্রোগ্রামের (যেমন অ্যাপলের ক্যালেন্ডার অ্যাপ) শুরুর বিন্দু হিসেবে একটি প্রধান সংগ্রহের প্রয়োজন হয়, তাহলে যে URI-এর সাথে সংযোগ স্থাপন করতে হবে তা হল:
https://apidata.googleusercontent.com/caldav/v2/calid/user
যেখানে ক্যালেন্ডার অ্যাক্সেস করার জন্য "ক্যালেন্ডার আইডি" দিয়ে calid প্রতিস্থাপন করা উচিত। এটি গুগল ক্যালেন্ডার ওয়েব ইন্টারফেসের মাধ্যমে নিম্নরূপ পাওয়া যাবে: ক্যালেন্ডার নামের পাশে পুল-ডাউন মেনুতে, ক্যালেন্ডার সেটিংস নির্বাচন করুন। ফলস্বরূপ পৃষ্ঠায় ক্যালেন্ডার আইডিটি ক্যালেন্ডার ঠিকানা লেবেলযুক্ত একটি বিভাগে দেখানো হবে। ব্যবহারকারীর প্রাথমিক ক্যালেন্ডারের ক্যালেন্ডার আইডি সেই ব্যবহারকারীর ইমেল ঠিকানার মতোই।
যদি কোন ক্লায়েন্ট প্রোগ্রামের (যেমন Mozilla Sunbird ) শুরুর বিন্দু হিসেবে একটি ক্যালেন্ডার সংগ্রহের প্রয়োজন হয়, তাহলে যে URI এর সাথে সংযোগ স্থাপন করতে হবে তা হল:
https://apidata.googleusercontent.com/caldav/v2/calid/events
পুরাতন এন্ডপয়েন্ট https://www.google.com/calendar/dav অপ্রচলিত এবং আর সমর্থিত নয়; আপনার নিজের ঝুঁকিতে এটি ব্যবহার করুন। আমরা আপনাকে উপরে বর্ণিত নতুন এন্ডপয়েন্ট ফর্ম্যাটে স্থানান্তর করার পরামর্শ দিচ্ছি।
iCal® হল Apple Inc এর একটি ট্রেডমার্ক।