Halaman ini menjelaskan properti eventType
, dan spesifikasi jenis peristiwa
yang tersedia di Google Kalender API.
Google Kalender memungkinkan pengguna membuat acara umum, serta acara yang dirancang untuk kasus penggunaan tertentu dan dengan properti kustom.
Jenis peristiwa dapat ditemukan di tempat berikut di API:
- Semua peristiwa ditampilkan dengan
eventType
. eventType
harus ditetapkan saat membuat atau memperbarui resource acara. Jika tidak ditetapkan, jenis'default'
akan digunakan.eventTypes
dapat ditentukan dalam panggilanEvents:list
untuk mencantumkan peristiwa dari jenis tertentu. Jika tidak ada jenis yang ditentukan, semua jenis peristiwa akan ditampilkan.eventTypes
dapat ditentukan dalam panggilanEvents:watch
untuk berlangganan update tentang peristiwa dari jenis tertentu. Jika tidak ada jenis yang ditentukan, permintaan akan menyebabkan langganan ke semua jenis peristiwa.
Peristiwa default
Acara dengan jenis acara 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 acara untuk mulai menggunakan acara Google Kalender.
Ulang tahun
Ulang tahun adalah acara spesial sepanjang hari dengan pengulangan tahunan.
Pengguna dapat membuat acara ulang tahun secara manual di Google Kalender. Selain itu, informasi ulang tahun disinkronkan dengan Google Kalender saat pengguna menambahkan orang dan menyertakan ulang tahun mereka serta tanggal penting lainnya di Google Kontak. Tanggal lahir pengguna juga disinkronkan ke Google Kalender dari profil Akun Google mereka.
Google Calendar API mendukung metode get
,
instances
, dan
list
untuk membaca peristiwa ulang tahun. eventTypes
dapat
ditetapkan ke 'birthday'
untuk hanya mencantumkan acara 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 acara khusus ini, baik ulang tahun, hari jadi, maupun tanggal penting lainnya.customTypeName
: Label yang ditentukan pengguna untuk peristiwa khusus ini. Kolom ini diisi jikatype
ditetapkan ke'custom'
.contact
: Nama resource kontak yang ditautkan ke peristiwa khusus ini, jika ada. Ini memiliki format'people/c12345'
dan dapat digunakan untuk mengambil detail kontak dari People API.
API ini memungkinkan pembuatan peristiwa ulang tahun menggunakan
metode insert
dengan spesifikasi
berikut:
eventType
disetel ke'birthday'
.- Kolom
start
danend
harus menentukan peristiwa sepanjang hari yang berlangsung tepat satu hari. - Nilai kolom
visibility
harus berupa'private'
. - Nilai kolom
transparency
harus berupa'transparent'
. - Harus memiliki pengulangan tahunan, yang berarti kolom
recurrence
harus berupa'RRULE:FREQ=YEARLY'
. Peristiwa ulang tahun yang jatuh pada 29 Februari harus memiliki aturan pengulangan berikut:'RRULE:FREQ=YEARLY;BYMONTH=2;BYMONTHDAY=-1'
. - Dapat memiliki
colorId
,summary
, danreminders
. - Dapat memiliki
birthdayProperties
. Jika ditentukan,type
harus'birthday'
, dancustomTypeName
dancontact
harus kosong. - Tidak dapat memiliki properti peristiwa lainnya.
API memungkinkan pembaruan
colorId
,
summary
, dan
reminders
peristiwa ulang tahun
menggunakan metode update
dan patch
.
Kolom start
dan
end
juga dapat diperbarui
untuk mengubah tanggal acara. Dalam hal ini, nilai baru harus menentukan peristiwa sepanjang hari
yang berlangsung tepat satu hari. Detail pengaturan waktu acara ulang tahun tidak dapat
diperbarui jika acara ditautkan ke
contact
, atau
type
-nya adalah
'self'
.
Google Calendar API tidak mengizinkan pembuatan acara ulang tahun dengan
birthdayProperties
kustom, atau
memperbarui properti ini. Tanggal penting dapat diedit dengan
People API, dan perubahannya disinkronkan dengan
Google Kalender. Demikian pula, pengguna dapat mengedit tanggal lahir mereka sendiri di
profil Akun Google, dan tanggal tersebut akan 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 masalahnya.
API ini mendukung operasi import
untuk peristiwa ulang tahun; namun, peristiwa akan diimpor sebagai peristiwa default. Dengan kata lain, eventType
akan menjadi 'default'
.
API ini mendukung metode watch
untuk berlangganan perubahan pada acara ulang tahun di Google Kalender.
eventTypes
dapat ditetapkan ke
'birthday'
untuk berlangganan update tentang acara ulang tahun. Jika tidak ada jenis yang ditentukan, semua jenis peristiwa, termasuk ulang tahun, akan di-subscribe.
Acara ulang tahun dapat dihapus menggunakan metode
delete
dari
Google Calendar API. Menghapus acara ulang tahun dari Google Kalender tidak akan
memengaruhi data di Google Kontak atau
profil Akun Google.
Mengubah penyelenggara acara ulang tahun menggunakan metode
move
atau
update
tidak didukung.
Acara dari Gmail
Acara yang dibuat secara otomatis dari Gmail
memiliki jenis acara 'fromGmail'
.
Google Calendar API tidak mengizinkan pembuatan jenis peristiwa ini menggunakan
metode insert
.
API ini memungkinkan pembaruan properti ekstensi
colorId
,
reminders
,
visibility
,
transparency
,
status
,
attendees
,
private
,
dan shared
menggunakan metode update
dan patch
.
API ini mendukung metode get
dan
list
untuk membaca peristiwa dari
Gmail. eventTypes
dapat
ditetapkan ke 'fromGmail'
untuk hanya mencantumkan peristiwa yang dihasilkan dari Gmail. Jika tidak ada jenis yang ditentukan, acara dari Gmail akan dicantumkan bersama semua jenis acara lainnya.
API ini mendukung metode watch
untuk berlangganan perubahan pada acara dari Gmail di Google Kalender. Jika tidak ada jenis yang ditentukan, semua jenis peristiwa, termasuk 'fromGmail'
, akan di-subscribe.
Acara dari Gmail dapat dihapus menggunakan metode delete
dari Google Calendar API.
Mengubah penyelenggara acara dari Gmail menggunakan metode move
atau update
tidak didukung.
Waktu fokus, status 'tidak di kantor', dan lokasi kerja
Google Calendar API dapat digunakan untuk membuat dan mengelola acara yang menampilkan status pengguna Google Kalender.
Fitur ini hanya tersedia di kalender utama, dan untuk beberapa pengguna Google Kalender. Lihat Mengelola peristiwa waktu fokus, tidak di kantor, dan lokasi kerja untuk mempelajari lebih lanjut.
Menjelajahi 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 Kalender API.
Petunjuk berikut menjelaskan cara membaca dan mengelola acara 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) Update project Google Cloud
Setiap project Google Apps Script memiliki project Google Cloud yang terkait. Skrip Anda dapat menggunakan project default yang dibuat secara otomatis 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 membuat daftar, membaca, dan membuat peristiwa dengan
nilai eventType
yang berbeda.
Tempelkan kode berikut ke dalam 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/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/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/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 acara. Konstanta ini awalnya ditetapkan ke'primary'
, yang merupakan kata kunci untuk mengakses kalender utama pengguna yang login. Dengan mengubah nilai ini, Anda dapat membaca acara di kalender pengguna lain yang aksesnya Anda miliki.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 Run.
- Pada eksekusi pertama, Anda akan diminta untuk memberikan otorisasi akses. Tinjau dan izinkan Apps Script mengakses kalender Anda.
- Anda dapat memeriksa hasil eksekusi skrip di Execution Log yang muncul di bagian bawah jendela.