CalDAV, WebDAV का एक एक्सटेंशन है. यह क्लाइंट को किसी रिमोट सर्वर पर कैलेंडर की जानकारी ऐक्सेस करने का स्टैंडर्ड उपलब्ध कराता है.
Google, CalDAV इंटरफ़ेस उपलब्ध कराता है. इसका इस्तेमाल करके, CalDAV प्रोटोकॉल का इस्तेमाल करके कैलेंडर देखे और मैनेज किए जा सकते हैं.
विशेषताएं
काम की हर खास जानकारी के लिए, Google की CalDAV सहायता इस तरह की है:
- rfc4918: वेब डिस्ट्रिब्यूटेड ऑथरिंग और वर्शनिंग (WebDAV) के लिए एचटीटीपी एक्सटेंशन
- यह एचटीटीपी के इन तरीकों के साथ काम करता है:
GET
,PUT
,HEAD
,DELETE
,POST
,OPTIONS
,PROPFIND
, औरPROPPATCH
. - यह एचटीटीपी मेथड
LOCK
,UNLOCK
,COPY
,MOVE
याMKCOL
याIf*
हेडर (If-Match
को छोड़कर) के साथ काम नहीं करता. - यह मनमुताबिक (उपयोगकर्ता की तय की गई) WebDAV प्रॉपर्टी के साथ काम नहीं करता.
- WebDAV ऐक्सेस कंट्रोल (rfc3744) के साथ काम नहीं करता.
- यह एचटीटीपी के इन तरीकों के साथ काम करता है:
- rfc4791: WebDAV (CalDAV) के लिए कैलेंडर एक्सटेंशन
- एचटीटीपी मेथड
REPORT
के साथ काम करता है. free-busy-query को छोड़कर, सभी रिपोर्ट लागू की गई हैं. - एचटीटीपी मेथड
MKCALENDAR
काम नहीं करता. AUDIO
कार्रवाई के साथ काम नहीं करता.
- एचटीटीपी मेथड
- rfc5545: iCalendar
- CalDAV इंटरफ़ेस में दिखाया गया डेटा, iCalendar स्पेसिफ़िकेशन के हिसाब से फ़ॉर्मैट किया जाता है.
- फ़िलहाल,
VTODO
याVJOURNAL
डेटा के साथ काम नहीं करता. - उपयोगकर्ता के सेट किए जा सकने वाले यूआरएल प्रॉपर्टी की अनुमति देने के लिए, Apple iCal® एक्सटेंशन के साथ काम नहीं करता.
- rfc6578: WebDAV के लिए कलेक्शन सिंक करना
- शुरुआती सिंक के बाद, क्लाइंट ऐप्लिकेशन को इस मोड में स्विच करना होगा.
- rfc6638: CalDAV के लिए एक्सटेंशन शेड्यूल करना
- यह एक छोटा "इनबॉक्स" है, जो हमेशा खाली रहता है.
- आपको मिलने वाले न्योते, आपके "इनबॉक्स" में भेजे जाने के बजाय, आपके "इवेंट" कलेक्शन में अपने-आप डिलीवर हो जाते हैं.
- यह सुविधा, उपलब्धता की जानकारी देखने की सुविधा के साथ काम नहीं करती.
- caldav-ctag-02: CalDAV में कैलेंडर कलेक्शन इकाई टैग (CTag)
- कैलेंडर
ctag
, संसाधनetag
की तरह है. जब कैलेंडर में कोई बदलाव होता है, तो यह बदल जाता है. इससे क्लाइंट ऐप्लिकेशन को तुरंत यह पता चल जाता है कि उसे बदले गए किसी भी इवेंट को सिंक करने की ज़रूरत नहीं है.
- कैलेंडर
- calendar-proxy: CalDAV में Calendar उपयोगकर्ता की प्रॉक्सी सुविधा
- iOS डिवाइसों से कैलेंडर सिंक करने की परफ़ॉर्मेंस को बेहतर बनाने के लिए,
calendar-proxy-read-for
याcalendar-proxy-write-for
प्रॉपर्टी का इस्तेमाल iOS यूज़र-एजेंट के साथ नहीं किया जा सकता. ऐसा इसलिए, क्योंकि ये डिवाइस, डेलिगेशन की सुविधा के साथ काम नहीं करते.
- iOS डिवाइसों से कैलेंडर सिंक करने की परफ़ॉर्मेंस को बेहतर बनाने के लिए,
हमने अब तक सभी ज़रूरी जानकारी को पूरी तरह से लागू नहीं किया है. हालांकि, Apple के Calendar ऐप्लिकेशन जैसे कई क्लाइंट के लिए, CalDAV प्रोटोकॉल सही तरीके से काम करना चाहिए.
ध्यान दें: खाते की सुरक्षा और गलत इस्तेमाल को रोकने के लिए, Google उन क्लाइंट ऐप्लिकेशन पर कुकी सेट कर सकता है जो CalDAV के ज़रिए डेटा ऐक्सेस करते हैं.
क्लाइंट आईडी बनाना
CalDAV API का इस्तेमाल करने के लिए, आपके पास एक Google खाता होना चाहिए. अगर आपके पास पहले से ही कोई खाता है, तो आपके पास इसे इस्तेमाल करने का विकल्प है.
CalDAV API को अनुरोध भेजने से पहले, आपको एक प्रोजेक्ट बनाकर, अपने क्लाइंट को Google API Console पर रजिस्टर करना होगा.
Google के एपीआई कंसोल पर जाएं. प्रोजेक्ट बनाएं पर क्लिक करें. इसके बाद, कोई नाम डालें और बनाएं पर क्लिक करें.
अगला चरण, CalDAV API को चालू करना है.अपने प्रोजेक्ट के लिए एपीआई चालू करने के लिए, यह तरीका अपनाएं:
- Google API Console में, एपीआई लाइब्रेरी खोलें. अगर कहा जाए, तो कोई प्रोजेक्ट चुनें या नया प्रोजेक्ट बनाएं. एपीआई लाइब्रेरी में, सभी उपलब्ध एपीआई की सूची होती है. इन्हें प्रॉडक्ट फ़ैमिली और लोकप्रियता के हिसाब से ग्रुप किया जाता है.
- अगर आपको जो एपीआई चालू करना है वह सूची में नहीं दिख रहा है, तो उसे खोजने के लिए खोज बार का इस्तेमाल करें.
- वह एपीआई चुनें जिसे आपको चालू करना है. इसके बाद, चालू करें बटन पर क्लिक करें.
- अगर कहा जाए, तो बिलिंग चालू करें.
- अगर कहा जाए, तो एपीआई की सेवा की शर्तें स्वीकार करें.
अपने प्रोजेक्ट का क्लाइंट आईडी और क्लाइंट पासवर्ड ढूंढने के लिए, यह तरीका अपनाएं:
- कोई मौजूदा OAuth 2.0 क्रेडेंशियल चुनें या क्रेडेंशियल पेज खोलें.
- अगर आपने पहले से ऐसा नहीं किया है, तो क्रेडेंशियल बनाएं > OAuth क्लाइंट आईडी पर क्लिक करके, अपने प्रोजेक्ट के OAuth 2.0 क्रेडेंशियल बनाएं. इसके बाद, क्रेडेंशियल बनाने के लिए ज़रूरी जानकारी दें.
- OAuth 2.0 क्लाइंट आईडी सेक्शन में, क्लाइंट आईडी ढूंढें. ज़्यादा जानकारी के लिए, क्लाइंट आईडी पर क्लिक करें.
Google के CalDAV सर्वर से कनेक्ट करना
CalDAV इंटरफ़ेस का इस्तेमाल करने के लिए, क्लाइंट प्रोग्राम शुरू में कैलेंडर सर्वर से इनमें से किसी एक शुरुआती पॉइंट पर कनेक्ट होता है. दोनों ही मामलों में, कनेक्शन को एचटीटीपीएस के ज़रिए बनाया जाना चाहिए. साथ ही, पुष्टि करने के लिए OAuth 2.0 स्कीम का इस्तेमाल किया जाना चाहिए. CalDAV सर्वर किसी अनुरोध की पुष्टि तब तक नहीं करेगा, जब तक वह Google खाते के OAuth 2.0 की पुष्टि के साथ एचटीटीपीएस पर नहीं आता.
एचटीटीपी से कनेक्ट करने या बेसिक पुष्टि करने की सुविधा का इस्तेमाल करने पर, एचटीटीपी
401 Unauthorized
स्टेटस कोड दिखता है.
अगर क्लाइंट प्रोग्राम (जैसे, Apple का Calendar ऐप्लिकेशन) को शुरुआती पॉइंट के तौर पर मुख्य कलेक्शन की ज़रूरत है, तो कनेक्ट करने के लिए यूआरआई यह है:
https://apidata.googleusercontent.com/caldav/v2/calid/user
यहां calid
को उस कैलेंडर के "calendar ID" से बदला जाना चाहिए जिसे ऐक्सेस करना है. इसे Google Calendar के वेब इंटरफ़ेस से इस तरह देखा जा सकता है: कैलेंडर के नाम के बगल में मौजूद, पुल-डाउन मेन्यू में जाकर, Calendar की सेटिंग चुनें. इसके बाद, आपको एक पेज दिखेगा. इस पेज पर, कैलेंडर आईडी कैलेंडर का पता सेक्शन में दिखेगा. उपयोगकर्ता के मुख्य कैलेंडर का कैलेंडर आईडी, उस उपयोगकर्ता के ईमेल पते जैसा ही होता है.
अगर किसी क्लाइंट प्रोग्राम (जैसे, Mozilla Sunbird) को शुरुआती पॉइंट के तौर पर कैलेंडर कलेक्शन की ज़रूरत है, तो कनेक्ट करने के लिए यूआरआई यह है:
https://apidata.googleusercontent.com/caldav/v2/calid/events
पुराना एंडपॉइंट https://www.google.com/calendar/dav अब काम नहीं करता. इसका इस्तेमाल अपने जोखिम पर करें. हमारा सुझाव है कि आप ऊपर बताए गए नए एंडपॉइंट फ़ॉर्मैट पर ट्रांज़िशन करें.
iCal®, Apple Inc. का ट्रेडमार्क है.