CalDAV, istemcilere uzak bir sunucudaki takvim bilgilerine erişme standardı sağlayan bir WebDAV uzantısıdır.
Google, takvimleri CalDAV protokolünü kullanarak görüntülemek ve yönetmek için kullanabileceğiniz bir CalDAV arayüzü sağlar.
Özellikler
İlgili spesifikasyonların her biri için Google'ın CalDAV desteği aşağıdaki gibidir:
- rfc4918: Web'de Dağıtılmış Yazma ve Sürüm Oluşturma iç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*
başlığını (If-Match
hariç) desteklemez.- Rastgele (kullanıcı tanımlı) WebDAV özelliklerini desteklemez.
- WebDAV Erişim Denetimi'ni (rfc3744) desteklemez.
- rfc4791: WebDAV'da Takvim Uzantılarını Oluşturma (CalDAV)
REPORT
HTTP yöntemini destekler. Serbest-meşgul sorgusu haricindeki tüm raporlar uygulanır.MKCALENDAR
HTTP yöntemini desteklemiyor.AUDIO
işlemini desteklemez.
- rfc5545: iCalendar
- CalDAV arayüzünde gösterilen 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'da Uzantıları Planlama
- Her zaman boş olan önemsiz bir "gelen kutusunu" destekler.
- Aldığınız davetiyeler "gelen kutunuza" yerleştirilmek yerine otomatik olarak "etkinlikler" koleksiyonunuza iletilir.
- Serbest-meşgul aramasını desteklemez.
- caldav-ctag-02: CalDAV'daki Takvim Koleksiyonu Varlık 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 etmesi gerekip gerekmediğini hızlı bir şekilde belirleyebilir.
- calendar-proxy: CalDAV'daki Takvim Kullanıcısı Proxy İşlevselliği
- Yetkilendirmeyi desteklemeyen iOS cihazlardan takvim senkronizasyonunun performansını iyileştirmek için
calendar-proxy-read-for
veyacalendar-proxy-write-for
özelliklerinin iOS UserAgent ile kullanılması başarısız olur.
- Yetkilendirmeyi desteklemeyen iOS cihazlardan takvim senkronizasyonunun performansını iyileştirmek için
İlgili spesifikasyonların tümünün tam olarak uygulanmasını henüz sağlamadık. Ancak, Apple'ın Takvim uygulaması gibi birçok istemci için CalDAV protokolünün düzgün bir şekilde birlikte çalışması gerekir.
Not: Google, hesap güvenliği ve kötüye kullanımı önlemek için, verilere CalDAV aracılığıyla erişen istemci uygulamalarında çerezler ayarlayabilir.
İstemci kimliğiniz oluşturuluyor
CalDAV API'yi kullanmak için bir Google Hesabınızın olması gerekir. Kullanabileceğiniz bir hesabınız varsa hazırsınız demektir.
CalDAV API'ye istek gönderebilmeniz için bir proje oluşturarak istemcinizi Google API Konsolu'na kaydetmeniz gerekir.
Google API Konsolu'na gidin. Create project'i (Proje oluştur) tıklayın, bir ad girin ve Create'i (Oluştur) tıklayın.
Sonraki adım, CalDAV API'yi etkinleştirmektir.Projenizde bir API'yi etkinleştirmek için şunları 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, kullanılabilir tüm API'ler ürün ailesine ve popülerliğe göre gruplandırılmış şekilde listelenir.
- Etkinleştirmek istediğiniz API listede görünmüyorsa bulmak için arama işlevini kullanın.
- 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 şunları yapın:
- Mevcut bir OAuth 2.0 kimlik bilgisini seçin veya Kimlik bilgileri sayfasını açın.
- Henüz yapmadıysanız Kimlik bilgileri oluştur > OAuth istemci kimliği'ni tıklayarak ve 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ündeki İstemci Kimliği'ni bulun. Ayrıntılar için istemci kimliğini tıklayın.
Google'ın CalDAV sunucusuna bağlanma
İstemci programı CalDAV arayüzünü kullanmak için ilk olarak iki başlangıç noktasından birinde takvim sunucusuna bağlanır. Her iki durumda da bağlantı HTTPS üzerinden oluşturulmalı ve OAuth 2.0 kimlik doğrulama şemasını kullanmalıdır. CalDAV sunucusu, Google hesabının OAuth 2.0 kimlik doğrulamasıyla HTTPS üzerinden ulaşmadığı durumlarda isteğin kimliğini doğrulamayı reddeder.
HTTP üzerinden bağlanmaya veya Temel Kimlik Doğrulama'yı kullanmaya çalışmak HTTP 401 Unauthorized
durum koduyla sonuçlanır.
İstemci programı (Apple'ın Takvim uygulaması gibi) başlangıç noktası olarak bir ana koleksiyon gerektirirse bağlanılacak URI şu şekildedir:
https://apidata.googleusercontent.com/caldav/v2/calid/user
Burada calid
, erişilecek takvimin "takvim kimliği" ile değiştirilmelidir. Bu erişimi Google Takvim web arayüzünde şu şekilde bulabilirsiniz: Takvim adının yanındaki açılır menüden Takvim Ayarları'nı seçin. Açılan sayfada 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 Sunbird) başlangıç noktası olarak bir takvim koleksiyonu gerektirirse bağlanılacak URI şu şekildedir:
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; riski size ait olmak üzere bu uç noktayı kullanabilirsiniz. Yukarıda açıklanan yeni uç nokta biçimine geçmenizi öneririz.
iCal®, Apple Inc.ın ticari markasıdır.