Panduan Developer CalDAV API

CalDAV adalah ekstensi WebDAV yang menyediakan standar bagi klien untuk mengakses informasi kalender pada 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 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: Ekstensi Kalender untuk WebDAV (CalDAV)
    • Mendukung metode HTTP REPORT. Semua laporan kecuali kueri senggang-sibuk diimplementasikan.
    • Tidak mendukung metode HTTP MKCALENDAR.
    • Tidak mendukung tindakan AUDIO.
  • rfc5545: iKalender
    • Data yang diekspos di antarmuka CalDAV diformat sesuai dengan Spesifikasi iKalender.
    • Saat ini tidak mendukung data VTODO atau VJOURNAL.
    • Tidak mendukung ekstensi Apple iCal® untuk mengizinkan properti URL yang dapat ditetapkan 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" yang sederhana, yang selalu kosong.
    • Undangan yang Anda terima otomatis dikirim ke "acara" Anda alih-alih dimasukkan ke "kotak masuk".
    • Tidak mendukung pencarian senggang-sibuk.
  • caldav-ctag-02: Tag Entitas Koleksi Kalender (CTag) di CalDAV
    • Kalender ctag seperti fasilitas etag; itu berubah ketika ada sesuatu di kalender telah berubah. Hal ini memungkinkan aplikasi klien untuk menentukan dengan cepat bahwa ia tidak perlu menyinkronkan peristiwa.
  • calendar-proxy: Fungsi Proxy Pengguna Kalender di CalDAV
    • Untuk meningkatkan kinerja sinkronisasi kalender dari perangkat iOS, yang tidak mendukung delegasi, menggunakan calendar-proxy-read-for atau Properti calendar-proxy-write-for dengan UserAgent iOS akan gagal.

Kami belum menyediakan implementasi penuh dari semua spesifikasi produk. Namun, untuk banyak klien seperti aplikasi Calendar Apple protokol CalDAV harus dapat beroperasi dengan benar.

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

Membuat client ID

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

Sebelum dapat mengirim permintaan ke CalDAV API, Anda harus mendaftar klien menggunakan 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 atau membuat yang baru. Library API mencantumkan semua daftar yang tersedia API, 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 Enable tombol.
  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 OAuth 2.0 yang sudah ada kredensial atau buka halaman Credentials.
  2. Jika Anda belum melakukannya, buat OAuth 2.0 proyek Anda kredensial dengan mengklik Create credentials > Client ID OAuth, dan yang memberikan informasi yang diperlukan untuk membuat kredensial.
  3. Cari Client ID di bagian OAuth 2.0 client ID. Untuk mengetahui detailnya, klik client ID.

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 dibuat melalui HTTPS dan harus menggunakan OAuth 2.0 skema otentikasi. Server CalDAV akan menolak untuk mengautentikasi permintaan kecuali jika klien itu tiba melalui HTTPS dengan otentikasi OAuth 2.0 dari akun Google. Mencoba terhubung melalui HTTP atau menggunakan Otentikasi Dasar akan menghasilkan alamat HTTP Kode status 401 Unauthorized.

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

calid harus diganti dengan "ID kalender" kalender untuk diakses. Hal ini dapat ditemukan melalui Antarmuka web Google Kalender sebagai berikut: dalam menu pull-down di samping nama kalender, pilih Setelan Kalender. Di halaman yang dihasilkan ID kalender ditampilkan di bagian berlabel Kalender Alamat. ID kalender untuk kalender utama pengguna sama dengan ID kalender 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

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

iCal® adalah merek dagang Apple Inc.