Events: update

Memperbarui acara. Metode ini tidak mendukung semantik patch dan selalu memperbarui seluruh resource peristiwa. Untuk melakukan update parsial, lakukan get yang diikuti dengan update menggunakan etag untuk memastikan atomicity. Coba sekarang atau lihat contohnya.

Permintaan

Permintaan HTTP

PUT https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId

Parameter

Nama parameter Nilai Deskripsi
Parameter jalur
calendarId string ID kalender. Untuk mengambil ID kalender, panggil metode calendarList.list. Jika Anda ingin mengakses kalender utama pengguna yang saat ini login, gunakan "primary" kata kunci.
eventId string ID peristiwa.
Parameter kueri opsional
alwaysIncludeEmail boolean Tidak digunakan lagi dan diabaikan. Nilai akan selalu ditampilkan di kolom email untuk penyelenggara, pembuat, dan peserta, meskipun tidak ada alamat email asli yang tersedia (yaitu, nilai yang dibuat dan tidak berfungsi akan diberikan).
conferenceDataVersion integer Nomor versi data konferensi yang didukung oleh klien API. Versi 0 mengasumsikan tidak ada dukungan data konferensi dan mengabaikan data konferensi dalam isi peristiwa. Versi 1 memungkinkan dukungan untuk penyalinan ConferenceData serta untuk membuat konferensi baru menggunakan kolom createRequest dari konferensiData. Defaultnya adalah 0. Nilai yang dapat diterima adalah 0 hingga 1, inklusif.
maxAttendees integer Jumlah maksimum peserta yang akan disertakan dalam respons. Jika ada lebih dari jumlah tamu yang ditentukan, hanya peserta yang akan ditampilkan. Opsional.
sendNotifications boolean Tidak digunakan lagi. Sebagai gantinya, gunakan sendUpdates.

Apakah akan mengirim notifikasi tentang info terbaru acara (misalnya, perubahan deskripsi, dll.). Perlu diperhatikan bahwa beberapa email mungkin tetap dikirim meskipun Anda menetapkan nilainya ke false. Defaultnya adalah false.
sendUpdates string Tamu yang harus menerima notifikasi tentang pembaruan acara (misalnya, perubahan judul, dll.).

Nilai yang dapat diterima:
  • "all": Notifikasi dikirim ke semua tamu.
  • "externalOnly": Notifikasi hanya dikirim kepada tamu yang bukan pengguna Google Kalender.
  • "none": Tidak ada notifikasi yang dikirim. Untuk tugas migrasi kalender, pertimbangkan untuk menggunakan metode Events.import.
supportsAttachments boolean Apakah operasi yang menjalankan klien API mendukung lampiran peristiwa. Opsional. Defaultnya adalah Salah.

Otorisasi

Permintaan ini memerlukan otorisasi dengan setidaknya salah satu cakupan berikut:

Cakupan
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events

Untuk mengetahui informasi selengkapnya, lihat halaman autentikasi dan otorisasi.

Isi permintaan

Dalam isi permintaan, berikan Resource peristiwa dengan properti berikut:

Nama properti Nilai Deskripsi Catatan
Properti yang Diperlukan
end nested object Waktu berakhir (eksklusif) acara. Untuk acara berulang, ini adalah waktu berakhirnya acara yang pertama.
start nested object Waktu mulai (inklusif) acara. Untuk acara rutin, ini adalah waktu mulai dari kejadian pertama.
Properti Opsional
anyoneCanAddSelf boolean Apakah siapa saja dapat mengundang diri mereka ke acara (tidak digunakan lagi). Opsional. Defaultnya adalah Salah. dapat ditulis
attachments[].fileUrl string Link URL ke lampiran.

Untuk menambahkan lampiran file Google Drive, gunakan format yang sama seperti di properti alternateLink dari resource Files di Drive API.

Wajib diisi saat menambahkan lampiran.

dapat ditulis
attendees[] list Para peserta acara. Lihat panduan Acara dengan tamu untuk informasi selengkapnya tentang cara menjadwalkan acara dengan pengguna kalender lainnya. Akun layanan harus menggunakan delegasi tingkat domain untuk mengisi daftar tamu. dapat ditulis
attendees[].additionalGuests integer Jumlah tamu tambahan. Opsional. Defaultnya adalah 0. dapat ditulis
attendees[].comment string Komentar respons peserta. Opsional. dapat ditulis
attendees[].displayName string Nama peserta, jika ada. Opsional. dapat ditulis
attendees[].email string Alamat email peserta, jika tersedia. Kolom ini harus ada saat menambahkan tamu. Alamat email tersebut harus valid sesuai dengan RFC5322.

Wajib diisi saat menambahkan tamu.

dapat ditulis
attendees[].optional boolean Apakah ini tamu opsional. Opsional. Defaultnya adalah Salah. dapat ditulis
attendees[].resource boolean Apakah peserta adalah sumber daya. Hanya dapat ditetapkan saat tamu ditambahkan ke acara untuk pertama kalinya. Perubahan berikutnya akan diabaikan. Opsional. Defaultnya adalah Salah. dapat ditulis
attendees[].responseStatus string Status respons tamu. Kemungkinan nilainya adalah:
  • "needsAction" - Peserta belum menanggapi undangan (disarankan untuk acara baru).
  • "declined" - Peserta telah menolak undangan tersebut.
  • "tentative" - Peserta telah menerima undangan untuk sementara.
  • "accepted" - Peserta telah menerima undangan.
dapat ditulis
attendeesOmitted boolean Apakah peserta mungkin telah dihilangkan dari representasi acara. Saat mengambil peristiwa, hal ini mungkin disebabkan oleh batasan yang ditentukan oleh parameter kueri maxAttendee. Saat memperbarui acara, tindakan ini dapat digunakan untuk memperbarui tanggapan peserta saja. Opsional. Defaultnya adalah Salah. dapat ditulis
colorId string Warna peristiwa. Ini adalah ID yang merujuk ke entri di bagian event dari definisi warna (lihat endpoint warna). Opsional. dapat ditulis
conferenceData nested object Informasi terkait konferensi, seperti detail konferensi Google Meet. Untuk membuat detail konferensi baru, gunakan kolom createRequest. Untuk mempertahankan perubahan Anda, jangan lupa menetapkan parameter permintaan conferenceDataVersion ke 1 untuk semua permintaan perubahan peristiwa. dapat ditulis
description string Deskripsi acara. Dapat berisi HTML. Opsional. dapat ditulis
end.date date Tanggal, dalam format "yyyy-mm-dd", jika ini adalah peristiwa sepanjang hari. dapat ditulis
end.dateTime datetime Waktu, sebagai nilai tanggal-waktu gabungan (diformat sesuai dengan RFC3339). Offset zona waktu diperlukan kecuali jika zona waktu ditentukan secara eksplisit di timeZone. dapat ditulis
end.timeZone string Zona waktu yang digunakan untuk menentukan waktu. (Diformat sebagai nama Database Zona Waktu IANA, misalnya "Eropa/Zurich".) Untuk acara berulang, kolom ini wajib diisi dan menentukan zona waktu tempat pengulangan diperluas. Untuk satu peristiwa, kolom ini bersifat opsional dan menunjukkan zona waktu kustom untuk awal/akhir acara. dapat ditulis
extendedProperties.private object Properti yang bersifat pribadi untuk salinan acara yang muncul di kalender ini. dapat ditulis
extendedProperties.shared object Properti yang digunakan bersama di antara salinan acara di tamu lain kalender. dapat ditulis
focusTimeProperties nested object Data peristiwa Waktu Fokus. Digunakan jika eventType adalah focusTime. dapat ditulis
gadget.display string Mode tampilan gadget. Tidak digunakan lagi. Kemungkinan nilainya adalah:
  • "icon" - Gadget ditampilkan di samping judul acara dalam tampilan kalender.
  • "chip" - Gadget ditampilkan ketika acara diklik.
dapat ditulis
gadget.height integer Tinggi gadget dalam piksel. Tinggi harus berupa bilangan bulat yang lebih besar dari 0. Opsional. Tidak digunakan lagi. dapat ditulis
gadget.preferences object Preferensi. dapat ditulis
gadget.title string Judul gadget. Tidak digunakan lagi. dapat ditulis
gadget.type string Jenis gadget. Tidak digunakan lagi. dapat ditulis
gadget.width integer Lebar gadget dalam piksel. Lebar harus berupa bilangan bulat yang lebih besar dari 0. Opsional. Tidak digunakan lagi. dapat ditulis
guestsCanInviteOthers boolean Apakah tamu selain penyelenggara dapat mengundang orang lain ke acara. Opsional. Nilai defaultnya adalah True. dapat ditulis
guestsCanModify boolean Apakah tamu selain penyelenggara dapat mengubah acara. Opsional. Defaultnya adalah Salah. dapat ditulis
guestsCanSeeOtherGuests boolean Apakah tamu selain penyelenggara dapat melihat siapa peserta acara. Opsional. Nilai defaultnya adalah True. dapat ditulis
location string Lokasi geografis acara dalam bentuk teks bebas. Opsional. dapat ditulis
originalStartTime.date date Tanggal, dalam format "yyyy-mm-dd", jika ini adalah peristiwa sepanjang hari. dapat ditulis
originalStartTime.dateTime datetime Waktu, sebagai nilai tanggal-waktu gabungan (diformat sesuai dengan RFC3339). Offset zona waktu diperlukan kecuali jika zona waktu ditentukan secara eksplisit di timeZone. dapat ditulis
originalStartTime.timeZone string Zona waktu yang digunakan untuk menentukan waktu. (Diformat sebagai nama Database Zona Waktu IANA, misalnya "Eropa/Zurich".) Untuk acara berulang, kolom ini wajib diisi dan menentukan zona waktu tempat pengulangan diperluas. Untuk satu peristiwa, kolom ini bersifat opsional dan menunjukkan zona waktu kustom untuk awal/akhir acara. dapat ditulis
outOfOfficeProperties nested object Data acara tidak di kantor. Digunakan jika eventType adalah outOfOffice. dapat ditulis
recurrence[] list Daftar baris RRules, EXRules, RDATE, dan EXDATE untuk acara berulang, seperti yang ditentukan dalam RFC5545. Perhatikan bahwa baris DTSTART dan DTEND tidak diizinkan dalam kolom ini; waktu mulai dan waktu berakhir peristiwa ditentukan di kolom start dan end. Kolom ini dihilangkan untuk satu acara atau beberapa kejadian berulang. dapat ditulis
reminders.overrides[] list Jika acara tidak menggunakan pengingat default, pengingat ini akan mencantumkan pengingat khusus untuk acara tersebut, atau, jika tidak disetel, menunjukkan bahwa tidak ada pengingat yang ditetapkan untuk acara ini. Jumlah maksimum pengingat penggantian adalah 5. dapat ditulis
reminders.overrides[].method string Metode yang digunakan oleh pengingat ini. Kemungkinan nilainya adalah:
  • "email" - Pengingat akan dikirim melalui email.
  • "popup" - Pengingat dikirim melalui pop-up UI.

Wajib diisi saat menambahkan pengingat.

dapat ditulis
reminders.overrides[].minutes integer Jumlah menit sebelum acara dimulai saat pengingat akan dipicu. Nilai yang valid adalah antara 0 dan 40320 (4 minggu dalam menit).

Wajib diisi saat menambahkan pengingat.

dapat ditulis
reminders.useDefault boolean Apakah pengingat default kalender berlaku untuk acara. dapat ditulis
sequence integer Nomor urut sesuai dengan iKalender. dapat ditulis
source.title string Judul sumber; misalnya judul laman web atau subjek email. dapat ditulis
source.url string URL sumber yang mengarah ke resource. Skema URL harus HTTP atau HTTPS. dapat ditulis
start.date date Tanggal, dalam format "yyyy-mm-dd", jika ini adalah peristiwa sepanjang hari. dapat ditulis
start.dateTime datetime Waktu, sebagai nilai tanggal-waktu gabungan (diformat sesuai dengan RFC3339). Offset zona waktu diperlukan kecuali jika zona waktu ditentukan secara eksplisit di timeZone. dapat ditulis
start.timeZone string Zona waktu yang digunakan untuk menentukan waktu. (Diformat sebagai nama Database Zona Waktu IANA, misalnya "Eropa/Zurich".) Untuk acara berulang, kolom ini wajib diisi dan menentukan zona waktu tempat pengulangan diperluas. Untuk satu peristiwa, kolom ini bersifat opsional dan menunjukkan zona waktu kustom untuk awal/akhir acara. dapat ditulis
status string Status acara. Opsional. Kemungkinan nilainya adalah:
  • "confirmed" - Acara telah dikonfirmasi. Ini adalah status default.
  • "tentative" - Acara ini dikonfirmasi untuk sementara.
  • "cancelled" - Acara dibatalkan (dihapus). Metode list menampilkan peristiwa yang dibatalkan hanya pada sinkronisasi inkremental (saat syncToken atau updatedMin ditentukan) atau jika tanda showDeleted disetel ke true. Metode get selalu menampilkannya.

    Status dibatalkan mewakili dua status yang berbeda bergantung pada jenis peristiwa:

    1. Pengecualian yang dibatalkan untuk acara berulang yang tidak dibatalkan menunjukkan bahwa instance ini tidak boleh ditampilkan lagi kepada pengguna. Klien harus menyimpan acara ini selama masa aktif acara rutin induk.

      Pengecualian yang dibatalkan hanya dijamin memiliki nilai untuk kolom id, recurringEventId, dan originalStartTime yang sudah terisi. Kolom lainnya mungkin kosong.

    2. Semua peristiwa lainnya yang dibatalkan mewakili peristiwa yang dihapus. Klien harus menghapus salinan yang disinkronkan secara lokal. Acara yang dibatalkan tersebut pada akhirnya akan hilang, jadi jangan berharap acara tersebut tersedia tanpa batas waktu.

      Peristiwa yang dihapus hanya dijamin memiliki kolom id yang terisi.

    Pada kalender penyelenggara, acara yang dibatalkan akan terus menampilkan detail acara (ringkasan, lokasi, dll.) sehingga dapat dipulihkan (dibatalkan penghapusan). Demikian pula, acara yang mengundang pengguna dan yang dihapus secara manual akan terus memberikan detail. Namun, permintaan sinkronisasi inkremental dengan showDeleted yang disetel ke salah (false) tidak akan menampilkan detail ini.

    Jika suatu acara mengubah penyelenggaranya (misalnya melalui operasi pindahkan) dan penyelenggara asli tidak ada dalam daftar tamu, acara tersebut akan meninggalkan acara yang dibatalkan dan hanya kolom id yang dijamin akan terisi.

dapat ditulis
summary string Judul acara. dapat ditulis
transparency string Apakah acara memblokir waktu di kalender. Opsional. Kemungkinan nilainya adalah:
  • "opaque" - Nilai default. Acara ini memblokir waktu di kalender. Hal ini sama seperti menyetel Tampilkan sebagai ke Sibuk di UI Kalender.
  • "transparent" - Acara tersebut tidak memblokir waktu di kalender. Tindakan ini sama seperti menyetel Tampilkan sebagai ke Tersedia di UI Kalender.
dapat ditulis
visibility string Visibilitas acara. Opsional. Kemungkinan nilainya adalah:
  • "default" - Menggunakan visibilitas default untuk acara di kalender. Nilai ini merupakan default.
  • "public" - Acara ini bersifat publik dan detail acara dapat dilihat oleh semua pembaca kalender.
  • "private" - Acara ini bersifat pribadi dan hanya peserta acara yang dapat melihat detail acara.
  • "confidential" - Acara ini bersifat pribadi. Nilai ini diberikan untuk alasan kompatibilitas.
dapat ditulis
workingLocationProperties nested object Data peristiwa lokasi kerja. dapat ditulis
workingLocationProperties.customLocation object Jika ada, tentukan bahwa pengguna bekerja dari lokasi kustom. dapat ditulis
workingLocationProperties.customLocation.label string Label tambahan opsional untuk informasi tambahan. dapat ditulis
workingLocationProperties.homeOffice any value Jika ada, tentukan bahwa pengguna bekerja di rumah. dapat ditulis
workingLocationProperties.officeLocation object Jika ada, menyebutkan bahwa pengguna bekerja dari kantor. dapat ditulis
workingLocationProperties.officeLocation.buildingId string ID gedung opsional. Alamat ini harus merujuk ke ID gedung di database Resource organisasi. dapat ditulis
workingLocationProperties.officeLocation.deskId string ID desktop opsional. dapat ditulis
workingLocationProperties.officeLocation.floorId string ID lantai opsional. dapat ditulis
workingLocationProperties.officeLocation.floorSectionId string ID bagian lantai opsional. dapat ditulis
workingLocationProperties.officeLocation.label string Nama kantor yang ditampilkan di klien Kalender Web dan Seluler. Sebaiknya Anda merujuk nama gedung di database Fasilitas organisasi. dapat ditulis
workingLocationProperties.type string Jenis lokasi kerja. Kemungkinan nilainya adalah:
  • "homeOffice" - Pengguna bekerja di rumah.
  • "officeLocation" - Pengguna bekerja dari kantor.
  • "customLocation" - Pengguna bekerja dari lokasi kustom.
Detail apa pun ditentukan di sub-kolom dari nama yang ditentukan, tetapi kolom ini mungkin tidak ada jika kosong. Kolom lainnya akan diabaikan.

Wajib saat menambahkan properti lokasi kerja.

dapat ditulis

Respons

Jika berhasil, metode ini akan menampilkan Resource peristiwa dalam isi respons.

Contoh

Catatan: Contoh kode yang tersedia untuk metode ini tidak merepresentasikan semua bahasa pemrograman yang didukung (lihat halaman library klien untuk mengetahui daftar bahasa yang didukung).

Java

Menggunakan library klien Java.

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.Event;

// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Retrieve the event from the API
Event event = service.events().get("primary", "eventId").execute();

// Make a change
event.setSummary("Appointment at Somewhere");

// Update the event
Event updatedEvent = service.events().update("primary", event.getId(), event).execute();

System.out.println(updatedEvent.getUpdated());

Python

Menggunakan library klien Python.

# First retrieve the event from the API.
event = service.events().get(calendarId='primary', eventId='eventId').execute()

event['summary'] = 'Appointment at Somewhere'

updated_event = service.events().update(calendarId='primary', eventId=event['id'], body=event).execute()

# Print the updated date.
print updated_event['updated']

PHP

Menggunakan library klien PHP.

// First retrieve the event from the API.
$event = $service->events->get('primary', 'eventId');

$event->setSummary('Appointment at Somewhere');

$updatedEvent = $service->events->update('primary', $event->getId(), $event);

// Print the updated date.
echo $updatedEvent->getUpdated();

Ruby

Menggunakan library klien Ruby.

event = client.get_event('primary', 'eventId')
event.summary = 'Appointment at Somewhere'
result = client.update_event('primary', event.id, event)
print result.updated

Cobalah!

Gunakan APIs Explorer di bawah untuk memanggil metode ini pada data langsung dan melihat responsnya.