CalDAV, istemcilerin uzak bir sunucudaki takvim bilgilerine erişmesi için standart sağlayan WebDAV'nin bir uzantısıdır.
Google, CalDAV protokolünü kullanarak takvimleri görüntülemek ve yönetmek için kullanabileceğiniz bir CalDAV arayüzü sağlar.
CalDAV API, Takvim API ile aynı kota sınırlarına sahiptir. Daha fazla bilgi için Kullanım sınırları başlıklı makaleyi inceleyin.
Teknik Özellikler
Google'ın CalDAV desteği, ilgili spesifikasyonların her biri için aşağıdaki gibidir:
rfc4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)
GET,PUT,HEAD,DELETE,POST,OPTIONS,PROPFINDvePROPPATCHHTTP yöntemlerini destekler.LOCK,UNLOCK,COPY,MOVE,MKCOLHTTP yöntemlerini veyaIf*üstbilgisini (If-Matchhariç) desteklemez.- Rastgele (kullanıcı tanımlı) WebDAV özelliklerini desteklemez.
- WebDAV Erişim Kontrolü'nü (rfc3744) desteklemez.
rfc4791: Calendaring Extensions to WebDAV (CalDAV)
REPORTHTTP yöntemini destekler.free-busy-querydışındaki tüm raporlar uygulanır.MKCALENDARHTTP yöntemini desteklemez.AUDIOişlemi desteklenmiyor.
-
- CalDAV arayüzünde gösterilen veriler, iCalendar spesifikasyonuna göre biçimlendirilir.
VTODOveyaVJOURNALverilerini desteklemez.- Kullanıcı tarafından ayarlanabilir URL özelliklerine izin vermek için Apple iCal uzantısını desteklemez.
rfc6578: WebDAV için Koleksiyon Senkronizasyonu
- İstemci uygulamaları, ilk senkronizasyondan sonra bu çalışma moduna geçmelidir.
rfc6638: CalDAV'de Planlama Uzantıları
- Her zaman boş olan önemsiz bir "gelen kutusu"nu destekler.
- Aldığınız davetiyeler, "gelen kutunuza" yerleştirilmek yerine otomatik olarak "etkinlikler" koleksiyonunuza teslim edilir.
free-busyaraması desteklenmiyor.
caldav-ctag-02: Calendar Collection Entity Tag (CTag) in CalDAV
ctagtakvimi,etagkaynağı gibidir. Takvimde herhangi bir değişiklik olduğunda değişir. Bu, istemci uygulamasının değiştirilen etkinlikleri senkronize etmesi gerekmediğini hızlı bir şekilde belirlemesini sağlar.
calendar-proxy: CalDAV'de Takvim Kullanıcısı Proxy İşlevselliği
- Takvim senkronizasyonu performansını artırmak için
calendar-proxy-read-forveyacalendar-proxy-write-forözelliklerini içeren istekler, iOS cihazlar temsilci atamayı desteklemediğinden iOS UserAgent ile başarısız olur.
- Takvim senkronizasyonu performansını artırmak için
CalDAV uygulamamız her özelliği kapsamamasına rağmen Apple Takvim de dahil olmak üzere birçok istemci için doğru şekilde çalışır.
İstemci kimliğinizi oluşturma
CalDAV API'yi kullanmak için Google Hesabınızın olması gerekir.
CalDAV API'ye istek gönderebilmeniz için önce proje oluşturarak istemcinizi Google Cloud Console'a kaydetmeniz gerekir.
Google API Konsolu'na gidin. Proje oluştur'u tıklayın, bir ad girin ve Oluştur'u tıklayın.
Ardından CalDAV API'yi etkinleştirmeniz gerekir.
Projenizde bir API'yi etkinleştirmek için aşağıdakileri yapın:
- Google API Konsolu'nda API kitaplığını açın. İstenirse bir proje seçin veya yeni bir proje oluşturun. API kitaplığında, ürün ailesine ve popülerliğe göre gruplandırılmış tüm API'ler listelenir.
- Etkinleştirmek istediğiniz API listede görünmüyorsa bulmak için aramayı kullanın.
- Etkinleştirmek istediğiniz API'yi seçin ve Etkinleştir düğmesini tıklayın.
- İstenirse faturalandırmayı etkinleştirin.
- İstenirse API'nin Hizmet Şartları'nı kabul edin.
CalDAV API isteklerini gerçekleştirmek için istemci kimliği ve istemci gizli anahtarı gerekir.
Projenizin istemci kimliğini ve istemci gizli anahtarını bulmak için aşağıdakileri yapın:
- Mevcut bir OAuth 2.0 kimlik bilgisi seçin veya Kimlik bilgileri sayfasını açın.
- Henüz yapmadıysanız Kimlik bilgileri oluştur > OAuth istemci kimliği'ni tıklayıp kimlik bilgilerini oluşturmak için gereken bilgileri sağlayarak projenizin OAuth 2.0 kimlik bilgilerini oluşturun.
- OAuth 2.0 istemci kimlikleri bölümünde İstemci Kimliği'ni bulun. Ayrıntılar için istemci kimliğini tıklayın.
Google'ın CalDAV sunucusuna bağlanma
CalDAV arayüzünü kullanmak için bir istemci programı başlangıçta iki başlangıç noktasından birinde takvim sunucusuna bağlanır. Her iki durumda da bağlantı HTTPS üzerinden yapılmalı ve OAuth 2.0 kimlik doğrulama şeması kullanılmalıdır. CalDAV sunucusu, bir isteğin Google Hesabı'nın OAuth 2.0 kimlik doğrulamasıyla HTTPS üzerinden gelmemesi durumunda kimliğini doğrulamayı reddeder. HTTP üzerinden bağlanmaya çalışmak veya temel kimlik doğrulama kullanmak, HTTP 401 Unauthorized durum koduyla sonuçlanır.
İstemci programı (ör. Apple'ın Takvim uygulaması) başlangıç noktası olarak bir asıl koleksiyon gerektiriyorsa bağlanılacak URI:
https://apidata.googleusercontent.com/caldav/v2/CALENDAR_ID/user
CALENDAR_ID kısmını, erişilecek takvimin kimliğiyle değiştirin.
Takvim kimliğini web arayüzü üzerinden bulmak için takvim adının yanındaki açılır menüde ** Takvim Ayarları**'nı seçin. Takvim kimliği, Takvim Adresi etiketli bir bölümde gösterilir. Bir kullanıcının birincil takviminin takvim kimliği, kullanıcının e-posta adresiyle aynıdır.
Bir istemci programı (ör. Mozilla Thunderbird) başlangıç noktası olarak bir takvim koleksiyonu gerektiriyorsa aşağıdaki URI'yi kullanın:
https://apidata.googleusercontent.com/caldav/v2/CALENDAR_ID/events