Panduan Developer CalDAV API

CalDAV adalah ekstensi WebDAV yang menyediakan standar bagi klien untuk mengakses informasi kalender di server jarak jauh.

Google menyediakan antarmuka CalDAV yang dapat Anda gunakan untuk melihat dan mengelola kalender menggunakan protokol CalDAV.

CalDAV API memiliki batas kuota yang sama dengan Calendar API. Untuk mengetahui informasi selengkapnya, lihat Batas penggunaan.

Spesifikasi

Untuk setiap spesifikasi yang relevan, dukungan CalDAV Google adalah sebagai berikut:

  • rfc4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)

    • Mendukung metode HTTP GET, PUT, HEAD, DELETE, POST, OPTIONS, PROPFIND, dan PROPPATCH.
    • Tidak mendukung metode HTTP LOCK, UNLOCK, COPY, MOVE, MKCOL, atau header If* (kecuali untuk If-Match).
    • Tidak mendukung properti WebDAV arbitrer (yang ditentukan pengguna).
    • Tidak mendukung Kontrol Akses WebDAV (rfc3744).
  • rfc4791: Calendaring Extensions to WebDAV (CalDAV)

    • Mendukung metode HTTP REPORT. Semua laporan kecuali free-busy-query telah diterapkan.
    • Tidak mendukung metode HTTP MKCALENDAR.
    • Tidak mendukung tindakan AUDIO.
  • rfc5545: iCalendar

    • Data yang diekspos di antarmuka CalDAV diformat sesuai dengan spesifikasi iCalendar.
    • Tidak mendukung data VTODO atau VJOURNAL.
    • Tidak mendukung ekstensi Apple iCal untuk mengizinkan properti URL yang dapat ditetapkan pengguna.
  • rfc6578: Sinkronisasi Pengumpulan untuk WebDAV

    • Aplikasi klien harus beralih ke mode operasi ini setelah sinkronisasi awal.
  • rfc6638: Scheduling Extensions to CalDAV

    • Mendukung "kotak masuk" sepele, yang selalu kosong.
    • Undangan yang Anda terima akan otomatis dikirim ke koleksi "acara" Anda, bukan ke "kotak masuk" Anda.
    • Tidak mendukung pencarian free-busy.
  • caldav-ctag-02: Tag Entitas Kumpulan Kalender (CTag) di CalDAV

    • Kalender ctag seperti resource etag; kalender ini berubah saat ada perubahan di kalender. Hal ini memungkinkan aplikasi klien menentukan dengan cepat bahwa aplikasi tidak perlu menyinkronkan peristiwa yang diubah.
  • calendar-proxy: Fungsi Proxy Pengguna Kalender di CalDAV

    • Untuk meningkatkan performa sinkronisasi kalender, permintaan yang menyertakan properti calendar-proxy-read-for atau calendar-proxy-write-for akan gagal dengan UserAgent iOS karena perangkat iOS tidak mendukung delegasi.

Meskipun implementasi CalDAV kami tidak mencakup setiap spesifikasi, implementasi ini berfungsi dengan benar untuk banyak klien, termasuk Apple Kalender.

Buat client ID Anda

Untuk menggunakan CalDAV API, Anda harus memiliki Akun Google.

Sebelum dapat mengirim permintaan ke CalDAV API, Anda harus mendaftarkan klien dengan Konsol Google Cloud dengan membuat project.

Buka Konsol Google API. Klik Buat project, masukkan nama, lalu klik Buat.

Selanjutnya, Anda perlu mengaktifkan CalDAV API.

Untuk mengaktifkan API untuk project Anda, lakukan hal berikut:

  1. Buka API Library di Konsol API Google. Jika diminta, pilih project atau buat project baru. Library API menampilkan daftar semua API yang tersedia, yang dikelompokkan berdasarkan kelompok produk dan popularitas.
  2. Jika API yang ingin Anda aktifkan tidak terlihat dalam daftar, gunakan penelusuran untuk mencarinya.
  3. Pilih API yang ingin Anda aktifkan, lalu klik tombol Aktifkan.
  4. Jika diminta, aktifkan penagihan.
  5. Jika diminta, setujui Persyaratan Layanan API.

Untuk melakukan permintaan CalDAV API, Anda memerlukan Client ID dan Client Secret.

Untuk menemukan client ID dan rahasia klien project Anda, lakukan hal berikut:

  1. Pilih kredensial OAuth 2.0 yang adaatau buka halaman Kredensial.
  2. Jika belum, buat kredensial OAuth 2.0 project Anda dengan mengklik Buat kredensial > ID klien OAuth, dan berikan informasi yang diperlukan untuk membuat kredensial.
  3. Cari Client ID di bagian Client ID OAuth 2.0. Untuk mengetahui detailnya, klik ID klien.

Menghubungkan ke server CalDAV Google

Untuk menggunakan antarmuka CalDAV, program klien awalnya terhubung dengan server kalender di salah satu dari dua titik awal. Dalam kedua kasus tersebut, koneksi harus dilakukan melalui HTTPS dan harus menggunakan skema autentikasi OAuth 2.0. Server CalDAV menolak untuk mengautentikasi permintaan kecuali jika permintaan tersebut tiba melalui HTTPS dengan autentikasi OAuth 2.0 Akun Google. Mencoba terhubung melalui HTTP atau menggunakan Autentikasi Dasar akan menghasilkan kode status HTTP 401 Unauthorized.

Jika program klien (seperti aplikasi Kalender Apple) memerlukan pengumpulan pokok sebagai titik awal, URI yang harus dihubungkan adalah:

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

Ganti CALENDAR_ID dengan ID kalender yang akan diakses.

Untuk menemukan ID kalender melalui antarmuka web, pilih **Setelan Kalender** di menu drop-down di samping nama kalender. ID kalender ditampilkan di bagian berlabel Alamat Kalender. ID kalender untuk kalender utama pengguna sama dengan alamat email pengguna tersebut.

Jika program klien (seperti Mozilla Thunderbird) memerlukan kumpulan kalender sebagai titik awal, gunakan URI berikut:

https://apidata.googleusercontent.com/caldav/v2/CALENDAR_ID/events