CalDAV, WebDAV का एक्सटेंशन है. यह क्लाइंट को रिमोट सर्वर पर कैलेंडर की जानकारी ऐक्सेस करने के लिए एक स्टैंडर्ड उपलब्ध कराता है.
Google, CalDAV इंटरफ़ेस उपलब्ध कराता है. इसका इस्तेमाल करके, CalDAV प्रोटोकॉल का इस्तेमाल करके कैलेंडर देखे और मैनेज किए जा सकते हैं.
CalDAV API के लिए, कोटा की वही सीमाएं लागू होती हैं जो Calendar API के लिए लागू होती हैं. ज़्यादा जानकारी के लिए, इस्तेमाल की सीमाएं देखें.
विशेषताएं
Google के CalDAV के साथ काम करने की सुविधा, यहां दी गई खास बातों के मुताबिक है:
rfc4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)
- यह एचटीटीपी मेथड
GET,PUT,HEAD,DELETE,POST,OPTIONS,PROPFIND, औरPROPPATCHके साथ काम करता है. - यह
LOCK,UNLOCK,COPY,MOVE,MKCOLजैसे एचटीटीपी तरीकों याIf*हेडर (If-Matchको छोड़कर) के साथ काम नहीं करता. - यह WebDAV की किसी भी प्रॉपर्टी (उपयोगकर्ता की ओर से तय की गई) के साथ काम नहीं करता.
- WebDAV ऐक्सेस कंट्रोल (rfc3744) के साथ काम नहीं करता.
- यह एचटीटीपी मेथड
rfc4791: Calendaring Extensions to WebDAV (CalDAV)
- एचटीटीपी मेथड
REPORTके साथ काम करता है.free-busy-queryको छोड़कर, सभी रिपोर्ट लागू की जाती हैं. - एचटीटीपी मेथड
MKCALENDARकाम नहीं करता. AUDIOकार्रवाई के साथ काम नहीं करता.
- एचटीटीपी मेथड
-
- CalDAV इंटरफ़ेस में दिखाया गया डेटा, iCalendar स्पेसिफ़िकेशन के हिसाब से फ़ॉर्मैट किया जाता है.
VTODOयाVJOURNALडेटा के साथ काम नहीं करता.- यह Apple iCal एक्सटेंशन के साथ काम नहीं करता. इससे उपयोगकर्ता को यूआरएल की प्रॉपर्टी सेट करने की अनुमति मिलती है.
rfc6578: Collection Synchronization for WebDAV
- शुरुआती सिंक के बाद, क्लाइंट ऐप्लिकेशन को इस मोड पर स्विच करना होगा.
rfc6638: Scheduling Extensions to CalDAV
- यह एक सामान्य "इनबॉक्स" का इस्तेमाल करता है, जो हमेशा खाली रहता है.
- आपको मिलने वाले न्योते, "इनबॉक्स" में सेव होने के बजाय, "इवेंट" कलेक्शन में अपने-आप सेव हो जाते हैं.
free-busyलुकअप की सुविधा काम नहीं करती.
caldav-ctag-02: Calendar Collection Entity Tag (CTag) in CalDAV
- कैलेंडर
ctag, संसाधनetagकी तरह होता है. कैलेंडर में कोई भी बदलाव होने पर, यह बदल जाता है. इससे क्लाइंट ऐप्लिकेशन को यह तुरंत पता चल जाता है कि उसे बदले गए किसी भी इवेंट को सिंक करने की ज़रूरत नहीं है.
- कैलेंडर
calendar-proxy: CalDAV में Calendar User Proxy की सुविधा
- कैलेंडर सिंक करने की परफ़ॉर्मेंस को बेहतर बनाने के लिए,
calendar-proxy-read-forयाcalendar-proxy-write-forप्रॉपर्टी शामिल करने वाले अनुरोध पूरे नहीं किए जा सकेंगे. ऐसा इसलिए, क्योंकि iOS डिवाइसों पर डेलिगेशन की सुविधा काम नहीं करती.
- कैलेंडर सिंक करने की परफ़ॉर्मेंस को बेहतर बनाने के लिए,
हालांकि, CalDAV को लागू करने के हमारे तरीके में हर खास जानकारी शामिल नहीं है, लेकिन यह Apple Calendar जैसे कई क्लाइंट के लिए सही तरीके से काम करता है.
अपना क्लाइंट आईडी बनाना
CalDAV API का इस्तेमाल करने के लिए, आपके पास Google खाता होना चाहिए.
CalDAV API को अनुरोध भेजने से पहले, आपको Google Cloud console में प्रोजेक्ट बनाकर, अपने क्लाइंट को रजिस्टर करना होगा.
Google API Console पर जाएं. प्रोजेक्ट बनाएं पर क्लिक करें. इसके बाद, कोई नाम डालें और बनाएं पर क्लिक करें.
इसके बाद, आपको CalDAV API को चालू करना होगा.
अपने प्रोजेक्ट के लिए किसी एपीआई को चालू करने के लिए, यह तरीका अपनाएं:
- Google API Console में एपीआई लाइब्रेरी खोलें. अगर कहा जाए, तो कोई प्रोजेक्ट चुनें या नया प्रोजेक्ट बनाएं. एपीआई लाइब्रेरी में, उपलब्ध सभी एपीआई की सूची दी गई है. इन्हें प्रॉडक्ट फ़ैमिली और लोकप्रियता के हिसाब से ग्रुप किया गया है.
- अगर आपको जिस एपीआई को चालू करना है वह सूची में नहीं दिख रहा है, तो उसे खोजने के लिए खोज बार का इस्तेमाल करें.
- वह एपीआई चुनें जिसे आपको चालू करना है. इसके बाद, चालू करें बटन पर क्लिक करें.
- अगर कहा जाए, तो बिलिंग चालू करें.
- अगर प्रॉम्प्ट मिलता है, तो एपीआई की सेवा की शर्तें स्वीकार करें.
CalDAV API अनुरोधों को पूरा करने के लिए, आपको क्लाइंट आईडी और क्लाइंट सीक्रेट की ज़रूरत होगी.
अपने प्रोजेक्ट का क्लाइंट आईडी और क्लाइंट सीक्रेट ढूंढने के लिए, यह तरीका अपनाएं:
- मौजूदा OAuth 2.0 क्रेडेंशियल चुनें या क्रेडेंशियल पेज खोलें.
- अगर आपने अब तक ऐसा नहीं किया है, तो क्रेडेंशियल बनाएं > OAuth क्लाइंट आईडी पर क्लिक करके, अपने प्रोजेक्ट के लिए OAuth 2.0 क्रेडेंशियल बनाएं. इसके बाद, क्रेडेंशियल बनाने के लिए ज़रूरी जानकारी दें.
- OAuth 2.0 क्लाइंट आईडी सेक्शन में जाकर, क्लाइंट आईडी ढूंढें. ज़्यादा जानकारी के लिए, क्लाइंट आईडी पर क्लिक करें.
Google के CalDAV सर्वर से कनेक्ट करना
CalDAV इंटरफ़ेस का इस्तेमाल करने के लिए, क्लाइंट प्रोग्राम सबसे पहले कैलेंडर सर्वर से कनेक्ट होता है. इसके लिए, वह दो शुरुआती पॉइंट में से किसी एक का इस्तेमाल करता है. दोनों ही मामलों में, कनेक्शन एचटीटीपीएस पर होना चाहिए. साथ ही, इसमें OAuth 2.0 पुष्टि करने की स्कीम का इस्तेमाल किया जाना चाहिए. CalDAV सर्वर, किसी अनुरोध की पुष्टि तब तक नहीं करता, जब तक वह Google खाते की OAuth 2.0 पुष्टि के साथ HTTPS पर नहीं पहुंचता. एचटीटीपी से कनेक्ट करने या सामान्य पुष्टि करने की सुविधा का इस्तेमाल करने पर, एचटीटीपी 401 Unauthorized स्टेटस कोड मिलता है.
अगर क्लाइंट प्रोग्राम (जैसे कि Apple का Calendar ऐप्लिकेशन) को शुरुआती पॉइंट के तौर पर प्रिंसिपल कलेक्शन की ज़रूरत होती है, तो कनेक्ट करने के लिए यूआरआई यह है:
https://apidata.googleusercontent.com/caldav/v2/CALENDAR_ID/user
CALENDAR_ID की जगह उस कैलेंडर का आईडी डालें जिसे ऐक्सेस करना है.
वेब इंटरफ़ेस के ज़रिए कैलेंडर आईडी ढूंढने के लिए, कैलेंडर के नाम के बगल में मौजूद ड्रॉप-डाउन मेन्यू में जाकर, ** कैलेंडर की सेटिंग** चुनें. कैलेंडर आईडी, कैलेंडर का पता लेबल वाले सेक्शन में दिखता है. किसी उपयोगकर्ता के मुख्य कैलेंडर का आईडी, उसके ईमेल पते के जैसा ही होता है.
अगर किसी क्लाइंट प्रोग्राम (जैसे कि Mozilla Thunderbird) को शुरुआती पॉइंट के तौर पर कैलेंडर कलेक्शन की ज़रूरत है, तो इस यूआरआई का इस्तेमाल करें:
https://apidata.googleusercontent.com/caldav/v2/CALENDAR_ID/events