CalDAV API Geliştirici Kılavuzu

CalDAV, istemcilerin uzaktaki bir sunucudaki takvim bilgilerine erişmesi için 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ü 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 ve PROPPATCH HTTP yöntemlerini destekler.
    • LOCK, UNLOCK, COPY, MOVE veya MKCOL HTTP yöntemlerini ya da If* üst bilgisini (If-Match hariç) desteklemez.
    • Rastgele (kullanıcı tanımlı) WebDAV mülklerini desteklemez.
    • WebDAV Erişim Denetimi'ni (rfc3744) desteklemez.
  • rfc4791: Uzantıları WebDAV'a Ekleme (CalDAV)
    • REPORT HTTP yöntemini destekler. Serbest-meşgul sorgusu dışındaki tüm raporlar uygulanır.
    • MKCALENDAR HTTP yöntemini desteklemez.
    • AUDIO işlemini desteklemez.
  • rfc5545: iCalendar
    • CalDAV arayüzünde gösterilen veriler iCalendar spesifikasyonuna göre biçimlendirilmiştir.
    • Şu anda VTODO veya VJOURNAL verilerini desteklememektedir.
    • Kullanıcı tarafından ayarlanabilen URL özelliklerine izin vermek için Apple iCal® uzantısını desteklemez.
  • rfc6578: WebDAV için Toplama Senkronizasyonu
    • İlk senkronizasyondan sonra istemci uygulamalarının bu çalışma moduna geçmesi gerekir.
  • rfc6638: Uzantıları CalDAV'a Planlama
    • Her zaman boş olan önemsiz bir "gelen kutusunu" destekler.
    • Aldığınız davetiyeler "gelen kutunuza" yerleştirilmek yerine otomatik olarak "etkinlikler" koleksiyonunuza gönderilir.
    • Serbest-meşgul araması desteklenmez.
  • caldav-ctag-02: CalDAV'daki Takvim Koleksiyonu Varlık Etiketi (CTag)
    • ctag takvimi, bir etag kaynağı gibidir; takvimde herhangi bir değişiklik olduğunda da değişir. Bu, istemci uygulamanın değiştirilen etkinlikleri senkronize etmesi gerekmediğini hızlı bir şekilde belirlemesine olanak tanır.
  • calendar-proxy: CalDAV'da Takvim Kullanıcı Proxy İşlevi
    • Yetkiyi desteklemeyen iOS cihazlardan takvim senkronizasyonunun performansını artırmak için, calendar-proxy-read-for veya calendar-proxy-write-for özelliklerinin bir iOS UserAgent ile kullanılması başarısız olacaktır.

Henüz ilgili tüm özelliklerin tam kapsamlı bir uygulaması sağlanmadı. Ancak, Apple'ın Takvim uygulaması gibi birçok istemci için CalDAV protokolü doğru şekilde çalışır.

Not: Google, hesap güvenliği ve kötüye kullanımı önlemek için verilere CalDAV üzerinden erişen istemci uygulamalarında çerezler oluşturabilir.

İstemci kimliğiniz oluşturuluyor

CalDAV API'yi kullanmak için 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 ö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ım CalDAV API'yi etkinleştirmektir.

Projeniz için bir API'yi etkinleştirmek üzere şunları yapın:

  1. Google API Konsolu'nda API Kitaplığı'nı açın. İstenirse bir proje seçin ya da 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.
  2. Etkinleştirmek istediğiniz API listede görünmüyorsa bulmak için arama işlevini kullanın.
  3. Etkinleştirmek istediğiniz API'yi seçin ve Etkinleştir düğmesini tıklayın.
  4. İstenirse faturalandırmayı etkinleştirin.
  5. İstenirse API'nin Hizmet Şartları'nı kabul edin.
CalDAV API isteklerini gerçekleştirmek için İstemci Kimliği ve İstemci Gizli Anahtarı'na ihtiyacınız vardır.

Projenizin istemci kimliğini ve istemci gizli anahtarını bulmak için aşağıdakileri yapın:

  1. Mevcut bir OAuth 2.0 kimlik bilgisini seçin veya Kimlik bilgileri sayfasını açın.
  2. Henüz yapmadıysanız Kimlik bilgileri oluştur > OAuth istemci kimliği seçeneğini tıklayıp kimlik bilgilerini oluşturmak için gereken bilgileri sağlayarak projenizin OAuth 2.0 kimlik bilgilerini oluşturun.
  3. 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ğlanılıyor

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ının HTTPS üzerinden kurulması ve OAuth 2.0 kimlik doğrulama şemasını kullanması gerekir. CalDAV sunucusu, istekler bir Google hesabında OAuth 2.0 kimlik doğrulamasıyla HTTPS üzerinden ulaşmadığı sürece kimlik doğrulamasını reddeder. HTTP üzerinden veya Temel Kimlik Doğrulaması kullanarak bağlanmaya çalışıldığında, HTTP 401 Unauthorized durum kodu gösterilir.

İstemci programı (Apple'ın Takvim uygulaması gibi) başlangıç noktası olarak bir ana hesap koleksiyonu gerektiriyorsa bağlanılacak URI şu şekildedir:

https://apidata.googleusercontent.com/caldav/v2/calid/user

calid yerine, erişilecek takvimin "takvim kimliği" kullanılmalıdır. Bu seçeneğe Google Takvim web arayüzünde şu şekilde ulaşılabilir: 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. 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 ş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. Bu uç noktayı riski size ait olmak üzere kullanabilirsiniz. Yukarıda açıklanan yeni uç nokta biçimine geçmenizi öneririz.

iCal®, Apple Inc. şirketinin ticari markasıdır.