Halaman ini menjelaskan properti eventType, dan spesifikasi jenis peristiwa yang tersedia di Google Calendar API.
Google Kalender memungkinkan pengguna membuat peristiwa umum, serta peristiwa yang dirancang untuk kasus penggunaan tertentu dan dengan properti kustom.
Jenis peristiwa dapat ditemukan di tempat berikut di API:
- Semua peristiwa ditampilkan dengan
eventType. eventTypeharus ditetapkan saat membuat atau memperbarui resource peristiwa. Jika tidak ditetapkan,'default'jenis akan digunakan.eventTypesdapat ditentukan dalam panggilanEvents:listuntuk mencantumkan peristiwa dari jenis tertentu. Jika tidak ada jenis yang ditentukan, semua jenis peristiwa akan ditampilkan.eventTypesdapat ditentukan dalam panggilanEvents:watchuntuk berlangganan update peristiwa dari jenis tertentu. Jika tidak ada jenis yang ditentukan, permintaan akan menyebabkan Anda berlangganan semua jenis peristiwa.
Peristiwa default
Peristiwa dengan jenis peristiwa default dibuat dan digunakan sebagai salah satu resource utama Google Calendar API. Peristiwa ini mendukung berbagai properti yang dapat digunakan untuk menyesuaikan peristiwa lebih lanjut.
Lihat Membuat peristiwa untuk mulai menggunakan peristiwa Google Kalender.
Ulang tahun
Ulang tahun adalah peristiwa khusus sepanjang hari dengan pengulangan tahunan.
Pengguna dapat membuat peristiwa ulang tahun secara manual di Google Kalender. Selain itu, informasi ulang tahun disinkronkan dengan Google Kalender saat pengguna menambahkan orang dan menyertakan tanggal ulang tahun serta tanggal penting lainnya di Google Kontak. Ulang tahun pengguna sendiri juga disinkronkan ke Google Kalender dari profil Akun Google-nya.
Google Calendar API mendukung get,
instances, dan
list metode untuk membaca peristiwa ulang tahun. eventTypes dapat
ditetapkan ke 'birthday' untuk hanya mencantumkan peristiwa ulang tahun. Jika tidak ada jenis yang ditentukan, ulang tahun akan dicantumkan bersama semua jenis peristiwa lainnya.
Dalam objek Event yang ditampilkan, periksa kolom
birthdayProperties
untuk mengetahui detail selengkapnya tentang peristiwa khusus ini. birthdayProperties memiliki kolom berikut:
type: Jenis peristiwa khusus ini, apakah itu ulang tahun, hari jadi, atau tanggal penting lainnya.customTypeName: Label yang ditentukan pengguna untuk peristiwa khusus ini. Kolom ini diisi jikatypeadalah ditetapkan ke'custom'.contact: Nama resource kontak yang ditautkan ke peristiwa khusus ini, jika ada. Kolom ini memiliki format'people/c12345'dan dapat digunakan untuk mengambil detail kontak dari People API.
API memungkinkan pembuatan peristiwa ulang tahun menggunakan metode
insert dengan spesifikasi berikut:
eventTypeditetapkan ke'birthday'.startdanendkolom harus menentukan peristiwa sepanjang hari yang berlangsung tepat satu hari.visibilityNilai kolom harus'private'.- Nilai kolom
transparencyharus'transparent'. - Harus memiliki pengulangan tahunan, yang berarti kolom
recurrenceharus'RRULE:FREQ=YEARLY'. Peristiwa ulang tahun yang jatuh pada tanggal 29 Februari harus memiliki aturan pengulangan berikut:'RRULE:FREQ=YEARLY;BYMONTH=2;BYMONTHDAY=-1'. - Dapat memiliki
colorId,summarydanreminders. - Dapat memiliki
birthdayProperties. Jika ditentukan,typeharus'birthday', dancustomTypeNamesertacontactharus kosong. - Tidak dapat memiliki properti peristiwa lainnya.
API memungkinkan pembaruan
colorId,
summary dan
reminders peristiwa ulang tahun
menggunakan metode update
dan patch.
start dan
end kolom juga dapat diperbarui
untuk mengubah tanggal peristiwa. Dalam hal ini, nilai baru harus menentukan peristiwa sepanjang hari yang berlangsung tepat satu hari. Detail waktu peristiwa ulang tahun tidak dapat diperbarui jika peristiwa tersebut ditautkan ke contact, atau type-nya adalah 'self'.
Google Calendar API tidak mengizinkan pembuatan peristiwa ulang tahun dengan
birthdayProperties kustom, atau
pembaruan properti ini. Tanggal penting dapat diedit dengan
People API, dan perubahannya disinkronkan dengan
Google Kalender. Demikian pula, pengguna dapat mengedit ulang tahunnya sendiri di
profil Akun Google-nya, dan ulang tahun tersebut disinkronkan
dengan Google Kalender.
Permintaan yang mencoba membuat atau memperbarui ulang tahun dengan cara yang tidak didukung akan gagal. Dalam hal ini, periksa pesan error untuk mengidentifikasi masalah.
API mendukung import operasi
untuk peristiwa ulang tahun; namun, peristiwa tersebut akan diimpor sebagai peristiwa default. Dengan
kata lain, eventType akan
menjadi 'default'.
API mendukung metode watch
untuk berlangganan perubahan pada peristiwa ulang tahun di Google Kalender.
eventTypes dapat ditetapkan ke
'birthday' untuk berlangganan update peristiwa ulang tahun. Jika tidak ada jenis yang ditentukan, semua jenis peristiwa, termasuk ulang tahun, akan dilanggan.
Peristiwa ulang tahun dapat dihapus menggunakan metode
delete dari
Google Calendar API. Menghapus peristiwa ulang tahun dari Google Kalender tidak
memengaruhi data di Google Kontak atau
profil Akun Google.
Mengubah penyelenggara peristiwa ulang tahun menggunakan
move atau
update metode tidak didukung.
Acara dari Gmail
Peristiwa yang otomatis dibuat dari Gmail
memiliki jenis peristiwa 'fromGmail'.
Google Calendar API tidak mengizinkan pembuatan jenis peristiwa ini menggunakan metode
insert.
API memungkinkan pembaruan properti tambahan
colorId,
reminders,
visibility,
transparency,
status,
attendees,
private
dan shared
menggunakan metode update
dan patch.
API mendukung get dan
list metode untuk membaca peristiwa dari
Gmail. eventTypes dapat
ditetapkan ke 'fromGmail' untuk hanya mencantumkan peristiwa yang dibuat dari Gmail. Jika tidak ada jenis yang ditentukan, peristiwa dari Gmail akan dicantumkan bersama semua jenis peristiwa lainnya.
API mendukung metode watch
untuk berlangganan perubahan pada peristiwa dari Gmail di Google Kalender. Jika tidak ada jenis yang
ditentukan, semua jenis peristiwa, termasuk 'fromGmail', akan dilanggan.
Peristiwa dari Gmail dapat dihapus menggunakan metode
delete dari
Google Calendar API.
Mengubah penyelenggara peristiwa dari Gmail menggunakan
move atau
update metode tidak didukung.
Waktu fokus, status tidak di kantor, dan lokasi kerja
Google Calendar API dapat digunakan untuk membuat dan mengelola peristiwa yang menampilkan status pengguna Google Kalender.
Fitur ini hanya tersedia di kalender utama, dan untuk beberapa pengguna Google Kalender. Lihat Mengelola peristiwa waktu fokus, status tidak di kantor, dan lokasi kerja untuk mempelajari lebih lanjut.
Mempelajari jenis peristiwa di Google Apps Script
Google Apps Script adalah bahasa skrip cloud berbasis JavaScript yang memungkinkan Anda membuat aplikasi bisnis yang terintegrasi dengan Google Workspace. Skrip dikembangkan di editor kode berbasis browser, dan disimpan serta dijalankan di server Google. Lihat juga Panduan memulai Google Apps Script untuk mulai menggunakan Apps Script guna mengirim permintaan ke Google Calendar API.
Petunjuk berikut menjelaskan cara membaca dan mengelola peristiwa menggunakan Google Calendar API sebagai layanan lanjutan di Google Apps Script. Untuk mengetahui daftar lengkap resource dan metode Google Calendar API, lihat dokumentasi referensi.
Membuat dan menyiapkan skrip
- Buat skrip dengan membuka script.google.com/create.
- Di panel kiri di samping Layanan, klik Tambahkan layanan .
- Pilih Google Calendar API , lalu klik Tambahkan.
- Setelah diaktifkan, API akan muncul di panel kiri. Metode dan class yang tersedia di API dapat dicantumkan menggunakan kata kunci Calendar di editor.
(Opsional) Memperbarui project Google Cloud
Setiap project Google Apps Script memiliki project Google Cloud yang terkait. Skrip Anda dapat menggunakan project default yang otomatis dibuat oleh Google Apps Script. Jika Anda ingin menggunakan project Google Cloud kustom, lihat Beralih ke project Cloud standar yang berbeda. Setelah menetapkan project Google Cloud, pilih Editor di sisi kiri untuk kembali ke editor kode.
Menambahkan kode ke skrip
Contoh kode berikut menunjukkan cara mencantumkan, membaca, dan membuat peristiwa dengan nilai eventType yang berbeda.
Tempelkan kode berikut ke editor kode.
const CALENDAR_ID = 'CALENDAR_ID' || 'primary'; /** Lists default events. */ function listDefaultEvents() { listEvents('default'); } /** Lists birthday events. */ function listBirthdays() { listEvents('birthday'); } /** Lists events from Gmail. */ function listEventsFromGmail() { listEvents('fromGmail'); } /** * Lists events with the given event type. If no type is specified, lists all events. * See https://developers.google.com/workspace/calendar/api/v3/reference/events/list */ function listEvents(eventType = undefined) { // Query parameters for the list request. const optionalArgs = { eventTypes: eventType ? [eventType] : undefined, singleEvents: true, timeMax: '2024-07-30T00:00:00+01:00', timeMin: '2024-07-29T00:00:00+01:00', } try { var response = Calendar.Events.list(CALENDAR_ID, optionalArgs); response.items.forEach(event => console.log(event)); } catch (exception) { console.log(exception.message); } } /** * Reads the event with the given eventId. * See https://developers.google.com/workspace/calendar/api/v3/reference/events/get */ function readEvent() { try { var response = Calendar.Events.get(CALENDAR_ID, 'EVENT_ID'); console.log(response); } catch (exception) { console.log(exception.message); } } /** Creates a default event. */ function createDefaultEvent() { const event = { start: { dateTime: '2024-07-30T10:30:00+01:00'}, end: { dateTime: '2024-07-30T12:30:00+01:00'}, description: 'Created from Apps Script.', eventType: 'default', summary: 'Sample event', } createEvent(event); } /** Creates a birthday event. */ function createBirthday() { const event = { start: { date: '2024-01-29' }, end: { date: '2024-01-30' }, eventType: 'birthday', recurrence: ["RRULE:FREQ=YEARLY"], summary: "My friend's birthday", transparency: "transparent", visibility: "private", } createEvent(event); } /** * Creates a Calendar event. * See https://developers.google.com/workspace/calendar/api/v3/reference/events/insert */ function createEvent(event) { try { var response = Calendar.Events.insert(event, CALENDAR_ID); console.log(response); } catch (exception) { console.log(exception.message); } }Ganti kode berikut:
CALENDAR_ID: Alamat email kalender untuk mengambil dan membuat peristiwa. Konstanta ini awalnya ditetapkan ke'primary', yang merupakan kata kunci untuk mengakses kalender utama pengguna yang login. Mengubah nilai ini memungkinkan Anda membaca peristiwa di kalender pengguna lain yang dapat Anda akses.EVENT_ID: ID peristiwa. Anda dapat memanggil Events:list untuk mengambil ID peristiwa.
Menjalankan contoh kode
- Di atas editor kode, pilih fungsi yang akan dijalankan dari menu drop-down, lalu klik Jalankan.
- Pada eksekusi pertama, Anda akan diminta untuk mengotorisasi akses. Tinjau dan izinkan Apps Script untuk mengakses kalender Anda.
- Anda dapat memeriksa hasil eksekusi skrip di Log Eksekusi yang muncul di bagian bawah jendela.