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.
Özellikler
Google'ın CalDAV desteği, ilgili özelliklerin her biri için aşağıdaki gibidir:
- rfc4918: Web'de Dağıtılmış Yazarlık ve Sürüm Kontrolü İçin HTTP Uzantıları (WebDAV)
GET
,PUT
,HEAD
,DELETE
,POST
,OPTIONS
,PROPFIND
vePROPPATCH
HTTP yöntemlerini destekler.LOCK
,UNLOCK
,COPY
,MOVE
veyaMKCOL
HTTP yöntemlerini ya daIf*
üst bilgisini (If-Match
hariç) desteklemez.- İsteğe bağlı (kullanıcı tanımlı) WebDAV özelliklerini desteklemez.
- WebDAV erişim denetimini (rfc3744) desteklemez.
- rfc4791: WebDAV için Takvim Uzantıları (CalDAV)
REPORT
HTTP yöntemini destekler. müsaitlik durumu sorgusu hariç tüm raporlar uygulanır.MKCALENDAR
HTTP yöntemini desteklemez.AUDIO
işlemini desteklemez.
- rfc5545: iCalendar
- CalDAV arayüzünde sunulan veriler, iCalendar spesifikasyonuna göre biçimlendirilir.
- Şu anda
VTODO
veyaVJOURNAL
verileri desteklenmiyor. - Kullanıcı tarafından ayarlanabilen 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 için Zaman Planlama Uzantıları
- Her zaman boş olan basit bir "gelen kutusu" destekler.
- Aldığınız davetler "gelen kutunuza" değil, "etkinlikler" koleksiyonunuza otomatik olarak gönderilir.
- Boş/meşgul durumunu aramayı desteklemez.
- caldav-ctag-02: CalDAV'da Takvim Koleksiyonu Öğe Etiketi (CTag)
ctag
takvimi,etag
kaynağına benzer. Takvimde herhangi bir değişiklik olduğunda takvim de değişir. Bu sayede istemci uygulaması, değiştirilen etkinlikleri senkronize etmesinin gerekmediğini hızlı bir şekilde belirleyebilir.
- calendar-proxy: CalDAV'da Takvim Kullanıcı Proxy İşlevi
- iOS cihazlardan takvim senkronizasyonunun performansını artırmak için iOS UserAgent ile
calendar-proxy-read-for
veyacalendar-proxy-write-for
mülklerinin kullanılması başarısız olur. Bu cihazlar yetkilendirmeyi desteklemez.
- iOS cihazlardan takvim senkronizasyonunun performansını artırmak için iOS UserAgent ile
Henüz ilgili tüm özelliklerin tam olarak uygulanmasını sağlamadık. Ancak Apple'ın Takvim uygulaması gibi birçok istemci için CalDAV protokolü doğru şekilde birlikte çalışmalıdır.
Not: Google, hesap güvenliğini sağlamak ve kötüye kullanımı önlemek için CalDAV üzerinden verilere erişen istemci uygulamalarında çerez ayarlayabilir.
İstemci kimliğinizi oluşturma
CalDAV API'yi kullanmak için bir Google Hesabınız olmalıdır. Kullanabileceğiniz bir hesabınız varsa hazırsınız demektir.
CalDAV API'sine istek gönderebilmeniz için öncelikle bir proje oluşturarak istemcinizi Google API Konsolu'na kaydetmeniz gerekir.
Google API Konsolu'na gidin. Proje oluştur'u tıklayın, bir ad girin ve Oluştur'u tıklayın.
Sonraki adımda CalDAV API'yi etkinleştirmeniz gerekir.Projeniz için bir API'yi etkinleştirmek üzere şunları yapın:
- Google API Konsolu'nda API Kitaplığı'nı açın. İstenirse bir proje seçin veya yeni proje oluşturun. API Kitaplığı, mevcut tüm API'leri ürün ailesine ve popülerliğe göre gruplandırarak listeler.
- Etkinleştirmek istediğiniz API listede görünmüyorsa aramayı kullanarak API'yi bulun.
- Etkinleştirmek istediğiniz API'yi seçin, ardından Etkinleştir düğmesini tıklayın.
- İstenirse faturalandırmayı etkinleştirin.
- İstenirse API'nin Hizmet Şartları'nı kabul edin.
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 istemci programları başlangıçta iki başlangıç noktasından birinde takvim sunucusuna bağlanır. Her iki durumda da bağlantı HTTPS üzerinden kurulmalı ve OAuth 2.0 kimlik doğrulama şeması kullanılmalıdır. CalDAV sunucusu, bir Google hesabının OAuth 2.0 kimlik doğrulamasıyla HTTPS üzerinden gelmediği sürece isteklerin kimliğini doğrulamayı reddeder.
HTTP üzerinden veya Temel Kimlik Doğrulama kullanılarak bağlantı kurulmaya çalışıldığında HTTP 401 Unauthorized
durum kodu döndürülür.
İstemci programı (ör. Apple'ın Takvim uygulaması) başlangıç noktası olarak bir ana koleksiyon gerektiriyorsa bağlanılacak URI şudur:
https://apidata.googleusercontent.com/caldav/v2/calid/user
Bu durumda calid
, erişilecek takvimin "takvim kimliği" ile değiştirilmelidir. Bu ayara Google Takvim web arayüzünden aşağıdaki şekilde ulaşabilirsiniz: Takvim adının yanındaki açılır menüden Takvim Ayarları'nı seçin. Açılan sayfada, takvim kimliği Takvim Adresi adlı bir bölümde gösterilir. Kullanıcının birincil takviminin takvim kimliği, kullanıcının e-posta adresiyle aynıdır.
Bir istemci programı (ör. Mozilla Sunbird) başlangıç noktası olarak bir takvim koleksiyonu gerektiriyorsa bağlanılacak URI şudur:
https://apidata.googleusercontent.com/caldav/v2/calid/events
Eski uç nokta https://www.google.com/calendar/dav kullanımdan kaldırıldı ve artık desteklenmiyor. Bu uç noktayı kullanma riski size aittir. Yukarıda açıklanan yeni uç nokta biçimine geçmenizi öneririz.
iCal®, Apple Inc. şirketinin ticari markasıdır.