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.

Spesifikasi

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

  • rfc4918: Ekstensi HTTP untuk Pembuatan dan Pembuatan Versi Terdistribusi Web (WebDAV)
    • Mendukung metode HTTP GET, PUT, HEAD, DELETE, POST, OPTIONS, PROPFIND, dan PROPPATCH.
    • Tidak mendukung metode HTTP LOCK, UNLOCK, COPY, MOVE, atau MKCOL, atau header If* (kecuali untuk If-Match).
    • Tidak mendukung properti WebDAV arbitrer (ditentukan oleh pengguna).
    • Tidak mendukung Kontrol Akses WebDAV (rfc3744).
  • rfc4791: Penjadwalan Ekstensi ke WebDAV (CalDAV)
    • Mendukung metode HTTP REPORT. Semua laporan, kecuali kueri senggang-sibuk, akan diterapkan.
    • Tidak mendukung metode HTTP MKCALENDAR.
    • Tidak mendukung tindakan AUDIO.
  • rfc5545: iCalendar
    • Data yang diekspos di antarmuka CalDAV diformat sesuai dengan spesifikasi iCalendar.
    • Saat ini tidak mendukung data VTODO atau VJOURNAL.
    • Tidak mendukung ekstensi Apple iCal® untuk mengizinkan properti URL yang dapat disetel pengguna.
  • rfc6578: Sinkronisasi Koleksi untuk WebDAV
    • Aplikasi klien harus beralih ke mode operasi ini setelah sinkronisasi awal.
  • rfc6638: Menjadwalkan Ekstensi ke CalDAV
    • Mendukung "kotak masuk" sederhana yang selalu kosong.
    • Undangan yang Anda terima akan otomatis dikirimkan ke koleksi "acara", bukan dimasukkan ke "kotak masuk" Anda.
    • Tidak mendukung pencarian senggang-sibuk.
  • caldav-ctag-02: Tag Entitas Koleksi Kalender (CTag) di CalDAV
    • Kalender ctag seperti resource etag; yang berubah ketika sesuatu dalam kalender telah berubah. Hal ini memungkinkan aplikasi klien dengan cepat menentukan bahwa ia tidak perlu menyinkronkan peristiwa yang diubah.
  • calendar-proxy: Fungsi Proxy Pengguna Kalender di CalDAV
    • Untuk meningkatkan performa sinkronisasi kalender dari perangkat iOS, yang tidak mendukung delegasi, penggunaan properti calendar-proxy-read-for atau calendar-proxy-write-for dengan UserAgent iOS akan gagal.

Kami belum menyediakan penerapan lengkap untuk semua spesifikasi yang relevan. Namun, bagi banyak klien seperti aplikasi Calendar Apple, protokol CalDAV harus beroperasi dengan benar.

Catatan: Untuk keamanan akun dan mencegah penyalahgunaan, Google mungkin menetapkan cookie pada aplikasi klien yang mengakses data melalui CalDAV.

Membuat client ID

Untuk menggunakan CalDAV API, Anda harus memiliki Akun Google. Jika Anda sudah memiliki akun yang dapat digunakan, maka Anda sudah siap.

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

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

Langkah berikutnya adalah mengaktifkan CalDAV API.

Untuk mengaktifkan API untuk project Anda, lakukan hal berikut:

  1. Buka API Library di Konsol API Google. Jika diminta, pilih sebuah 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 Rahasia Klien.

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

  1. Pilih kredensial OAuth 2.0 yang sudah ada atau buka halaman Credentials.
  2. Jika belum melakukannya, buat kredensial OAuth 2.0 project Anda dengan mengklik Create credentials > OAuth client ID, dan berikan informasi yang diperlukan untuk membuat kredensial tersebut.
  3. Cari Client ID di bagian Client ID OAuth 2.0. Untuk mengetahui detailnya, klik client ID.

Menghubungkan ke server CalDAV Google

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

Jika program klien (seperti aplikasi Calendar Apple) memerlukan koleksi utama sebagai titik awal, URI yang akan dihubungkan adalah:

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

Tempat calid harus diganti dengan "ID kalender" kalender yang akan diakses. Nama ini dapat ditemukan melalui antarmuka web Google Kalender dengan cara berikut: di menu pull-down di samping nama kalender, pilih Setelan Kalender. Pada halaman yang dihasilkan, ID kalender akan ditampilkan di bagian yang berlabel Alamat Kalender. ID kalender untuk kalender utama pengguna sama dengan alamat email pengguna tersebut.

Jika program klien (seperti Mozilla Sunbird) memerlukan koleksi kalender sebagai titik awal, URI yang akan dihubungkan adalah:

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

Endpoint lama https://www.google.com/calendar/dav tidak digunakan lagi dan tidak didukung lagi. Anda dapat menggunakannya dengan risiko Anda sendiri. Sebaiknya Anda beralih ke format endpoint baru yang dijelaskan di atas.

iCal® adalah merek dagang Apple Inc.