CalDAV, istemcilere uzaktaki bir sunucudaki takvim bilgilerine erişmeleri için bir standart sağlayan bir WebDAV 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ü sunar.
Özellikler
Google'ın CalDAV desteği, ilgili spesifikasyonların her biri için aşağıdaki gibidir:
- rfc4918: Web'de Dağıtılan Yazma ve Sürüm Oluşturma İçin HTTP Uzantıları
(WebDAV)
GET
,PUT
,HEAD
,DELETE
,POST
,OPTIONS
,PROPFIND
vePROPPATCH
HTTP yöntemlerini destekler.LOCK
,UNLOCK
,COPY
,MOVE
veyaMKCOL
ya daIf*
başlığını (If-Match
hariç) desteklemez.- İsteğe bağlı (kullanıcı tanımlı) WebDAV özelliklerini desteklemez.
- WebDAV Erişim Denetimi'ni (rfc3744) desteklemez.
- rfc4791: Uzantıları WebDAV (CalDAV) İçin Takvim Oluşturma
REPORT
HTTP yöntemini destekler. Uygun-meşgul sorgusu hariç tüm raporlar uygulanır.MKCALENDAR
HTTP yöntemi desteklenmiyor.AUDIO
işlemini desteklemiyor.
- 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: Uzantıları CalDAV için Planlama
- Her zaman boş olan önemsiz bir "gelen kutusunu" destekler.
- Aldığınız davetiyeler, "gelen kutunuza" yerleştirmek yerine otomatik olarak "etkinlikler" koleksiyonunuza gönderilir.
- Uygun/meşgul aramasını desteklemez.
- caldav-ctag-02: CalDAV'daki Takvim Koleksiyonu Varlık Etiketi (CTag)
ctag
takvimi,etag
kaynağı gibi görünür; takvimdeki herhangi bir şey değiştiğinde değişir. Böylece istemci uygulama, değiştirilen etkinlikleri senkronize etmesine gerek olmadığını hızlıca belirleyebilir.
- calendar-proxy: CalDAV'ta Takvim Kullanıcısı Proxy İşlevi
- Yetkileri desteklemeyen iOS cihazlardan takvim senkronizasyonunun performansını iyileştirmek için, bir iOS UserAgent ile
calendar-proxy-read-for
veyacalendar-proxy-write-for
özelliklerini kullanamazsınız.
- Yetkileri desteklemeyen iOS cihazlardan takvim senkronizasyonunun performansını iyileştirmek için, bir iOS UserAgent ile
Tüm ilgili spesifikasyonların tam uygulamasını henüz sağlamadık. Ancak Apple iCal gibi birçok istemci için CalDAV protokolü birlikte düzgün çalışmalıdır.
Not: Google, hesap güvenliği ve kötüye kullanımın önlenmesi için CalDAV aracılığıyla verilere erişen istemci uygulamalarında çerezler ayarlayabilir.
İstemci kimliğinizi oluşturma
CalDAV API'sini kullanmak için Google Hesabınızın olması gerekir. Halihazırda bir hesabınız varsa zaten hazırsınız demektir.
CalDAV API'sine istek gönderebilmeniz için istemcinizi proje oluşturarak 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ım CalDAV API'yi etkinleştirmektir.Projenizde 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 proje oluşturun. API Kitaplığı, mevcut tüm API'leri ürün ailesine ve popülerliğe göre gruplandırılmış olarak listeler.
- Etkinleştirmek istediğiniz API listede görünmüyorsa bulmak için arama özelliğini kullanın.
- Etkinleştirmek istediğiniz API'yi seçip 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 bilgisini seçin veya Kimlik bilgileri sayfasını açın.
- Henüz yapmadıysanız Kimlik bilgisi 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ını kullanmalıdır. CalDAV sunucusu, Google hesabının OAuth 2.0 kimlik doğrulamasıyla HTTPS üzerinden gelmediği sürece bir isteğin kimliğini doğrulamayı reddeder.
HTTP üzerinden bağlanmaya çalışıldığında veya Temel Kimlik Doğrulaması kullanıldığında bir HTTP401 Unauthorized
durum kodu görüntülenir.
İstemci programı (ör. Apple iCal) başlangıç noktası olarak ana veri koleksiyonu gerektiriyorsa bağlanılacak URI:
https://apidata.googleusercontent.com/caldav/v2/calid/user
Burada calid
, erişilecek takvimin "takvim kimliği" ile değiştirilmelidir. Bu bilgiyi Google Takvim web arayüzünde şu şekilde bulabilirsiniz: Takvim adının yanındaki açılan 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, söz konusu kullanıcının e-posta adresiyle aynıdır.
Bir istemci programı (Mozilla Sunbird gibi) başlangıç noktası olarak takvim toplamayı gerektiriyorsa bağlanılacak URI:
https://apidata.googleusercontent.com/caldav/v2/calid/events
https://www.google.com/calendar/dav adlı eski uç nokta kullanımdan kaldırıldı ve artık desteklenmiyor. Bu riski sorumluluğu size aittir. Yukarıda açıklanan yeni uç nokta biçimine geçmenizi öneririz.
iCal, Apple Inc.ın ticari markasıdır.