Mengimpor peristiwa. Operasi ini digunakan untuk menambahkan salinan pribadi acara yang ada ke kalender. Hanya peristiwa dengan eventType
default
yang dapat diimpor.
Perilaku yang tidak digunakan lagi: Jika peristiwa non-default
diimpor, jenisnya akan diubah menjadi default
dan properti khusus jenis peristiwa yang mungkin dimilikinya akan dihapus.
Permintaan
Permintaan HTTP
POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events/import
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 kata kunci "primary ".
|
Parameter kueri opsional | ||
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 menyalin ConferenceData serta membuat konferensi baru menggunakan kolom createRequest dari conferenceData. Defaultnya adalah 0.
Nilai yang dapat diterima adalah 0 hingga 1 , inklusif.
|
supportsAttachments |
boolean |
Apakah klien API yang melakukan operasi mendukung lampiran peristiwa. Opsional. Default-nya 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 |
https://www.googleapis.com/auth/calendar.app.created |
https://www.googleapis.com/auth/calendar.events.owned |
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 Wajib | |||
end |
nested object |
Waktu akhir (eksklusif) peristiwa. Untuk peristiwa berulang, ini adalah waktu berakhir instance pertama. | |
iCalUID |
string |
ID unik peristiwa sebagaimana yang didefinisikan dalam RFC5545. ID ini digunakan untuk mengidentifikasi peristiwa secara unik di seluruh sistem kalender dan harus diberikan saat mengimpor peristiwa melalui metode import. Perhatikan bahwa |
|
start |
nested object |
Waktu mulai (inklusif) acara. Untuk peristiwa berulang, ini adalah waktu mulai instance pertama. | |
Properti Opsional | |||
anyoneCanAddSelf |
boolean |
Apakah siapa saja dapat mengundang diri mereka sendiri ke acara (tidak digunakan lagi). Opsional. Default-nya adalah Salah. | dapat ditulis |
attachments[].fileUrl |
string |
Link URL ke lampiran. Untuk menambahkan lampiran file Google Drive, gunakan format yang sama seperti di properti Diperlukan saat menambahkan lampiran. |
dapat ditulis |
attendees[] |
list |
Tamu acara. Lihat panduan Acara dengan tamu untuk mengetahui informasi selengkapnya tentang cara menjadwalkan acara dengan pengguna kalender lain. Akun layanan harus menggunakan delegasi otoritas seluruh 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 tersedia. Opsional. | dapat ditulis |
attendees[].email |
string |
Alamat email peserta, jika tersedia. Kolom ini harus ada saat menambahkan tamu. Alamat email harus valid sesuai dengan RFC5322. Wajib diisi saat menambahkan tamu. |
dapat ditulis |
attendees[].optional |
boolean |
Apakah ini adalah tamu opsional. Opsional. Default-nya adalah Salah. | dapat ditulis |
attendees[].resource |
boolean |
Apakah peserta adalah referensi. Hanya dapat ditetapkan saat peserta ditambahkan ke acara untuk pertama kalinya. Modifikasi berikutnya akan diabaikan. Opsional. Default-nya adalah Salah. | dapat ditulis |
attendees[].responseStatus |
string |
Status respons peserta. Kemungkinan nilainya adalah:
|
dapat ditulis |
attendeesOmitted |
boolean |
Apakah tamu mungkin telah dihilangkan dari representasi acara. Saat mengambil peristiwa, hal ini mungkin disebabkan oleh batasan yang ditentukan oleh parameter kueri maxAttendee . Saat memperbarui peristiwa, opsi ini dapat digunakan untuk hanya memperbarui respons peserta. Opsional. Default-nya adalah Salah. |
dapat ditulis |
colorId |
string |
Warna peristiwa. Ini adalah ID yang merujuk ke entri di bagian event 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, jangan lupa untuk 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 acara 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 tempat waktu ditentukan. (Diformat sebagai nama Database Zona Waktu IANA, misalnya "Europe/Zurich".) Untuk peristiwa berulang, kolom ini diperlukan dan menentukan zona waktu tempat pengulangan diperluas. Untuk satu peristiwa, kolom ini bersifat opsional dan menunjukkan zona waktu kustom untuk waktu mulai/akhir peristiwa. | dapat ditulis |
extendedProperties.private |
object |
Properti yang bersifat pribadi untuk salinan acara yang muncul di kalender ini. | dapat ditulis |
extendedProperties.shared |
object |
Properti yang dibagikan di antara salinan acara di kalender tamu lain. | 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:
|
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.iconLink |
string |
URL ikon gadget. Skema URL harus berupa HTTPS. Tidak digunakan lagi. | dapat ditulis |
gadget.link |
string |
URL gadget. Skema URL harus berupa HTTPS. 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. Defaultnya adalah True. | dapat ditulis |
guestsCanModify |
boolean |
Apakah peserta selain penyelenggara dapat mengubah acara. Opsional. Default-nya adalah Salah. | dapat ditulis |
guestsCanSeeOtherGuests |
boolean |
Apakah tamu selain penyelenggara dapat melihat siapa saja tamu acara. Opsional. Defaultnya adalah True. | dapat ditulis |
location |
string |
Lokasi geografis peristiwa sebagai teks bebas. Opsional. | dapat ditulis |
organizer |
object |
Penyelenggara acara. Jika penyelenggara juga merupakan tamu, hal ini ditunjukkan dengan entri terpisah di attendees dengan kolom organizer ditetapkan ke Benar. Untuk mengubah penyelenggara, gunakan operasi pindahkan. Hanya baca, kecuali saat mengimpor peristiwa. |
dapat ditulis |
organizer.displayName |
string |
Nama penyelenggara, jika tersedia. | dapat ditulis |
organizer.email |
string |
Alamat email penyelenggara, jika tersedia. Alamat email harus valid sesuai dengan RFC5322. | dapat ditulis |
originalStartTime.date |
date |
Tanggal, dalam format "yyyy-mm-dd", jika ini adalah acara 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 tempat waktu ditentukan. (Diformat sebagai nama Database Zona Waktu IANA, misalnya "Europe/Zurich".) Untuk peristiwa berulang, kolom ini diperlukan dan menentukan zona waktu tempat pengulangan diperluas. Untuk satu peristiwa, kolom ini bersifat opsional dan menunjukkan zona waktu kustom untuk waktu mulai/akhir peristiwa. | dapat ditulis |
outOfOfficeProperties |
nested object |
Data peristiwa tidak di kantor. Digunakan jika eventType adalah outOfOffice . |
dapat ditulis |
recurrence[] |
list |
Daftar baris RRULE, EXRULE, RDATE, dan EXDATE untuk peristiwa berulang, seperti yang ditentukan dalam RFC5545. Perhatikan bahwa baris DTSTART dan DTEND tidak diizinkan di kolom ini; waktu mulai dan waktu berakhir acara ditentukan di kolom start dan end . Kolom ini dihilangkan untuk satu peristiwa atau instance peristiwa berulang. |
dapat ditulis |
reminders.overrides[] |
list |
Jika acara tidak menggunakan pengingat default, pengingat khusus untuk acara tersebut akan dicantumkan, atau, jika tidak ditetapkan, 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:
Wajib diisi saat menambahkan pengingat. |
dapat ditulis |
reminders.overrides[].minutes |
integer |
Jumlah menit sebelum awal acara saat pengingat harus dipicu. Nilai yang valid 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 iCalendar. | dapat ditulis |
source.title |
string |
Judul sumber; misalnya judul halaman web atau subjek email. | dapat ditulis |
source.url |
string |
URL sumber yang mengarah ke resource. Skema URL harus berupa HTTP atau HTTPS. | dapat ditulis |
start.date |
date |
Tanggal, dalam format "yyyy-mm-dd", jika ini adalah acara 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 tempat waktu ditentukan. (Diformat sebagai nama Database Zona Waktu IANA, misalnya "Europe/Zurich".) Untuk peristiwa berulang, kolom ini diperlukan dan menentukan zona waktu tempat pengulangan diperluas. Untuk satu peristiwa, kolom ini bersifat opsional dan menunjukkan zona waktu kustom untuk waktu mulai/akhir peristiwa. | dapat ditulis |
status |
string |
Status peristiwa. Opsional. Kemungkinan nilainya adalah:
|
dapat ditulis |
summary |
string |
Judul acara. | dapat ditulis |
transparency |
string |
Apakah acara memblokir waktu di kalender. Opsional. Kemungkinan nilainya adalah:
|
dapat ditulis |
visibility |
string |
Visibilitas peristiwa. Opsional. Kemungkinan nilainya adalah:
|
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; import com.google.api.services.calendar.model.EventAttendee; import com.google.api.services.calendar.model.EventDateTime; import com.google.api.client.util.DateTime; import java.util.Date; // ... // Initialize Calendar service with valid OAuth credentials Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials) .setApplicationName("applicationName").build(); // Create and initialize a new event (could also retrieve an existing event) Event event = new Event(); event.setICalUID("originalUID"); Event.Organizer organizer = new Event.Organizer(); organizer.setEmail("organizerEmail"); organizer.setDisplayName("organizerDisplayName"); event.setOrganizer(organizer); ArrayList<EventAttendee> attendees = new ArrayList<EventAttendee>(); attendees.add(new EventAttendee().setEmail("attendeeEmail")); // ... event.setAttendees(attendees); Date startDate = new Date(); Date endDate = new Date(startDate.getTime() + 3600000); DateTime start = new DateTime(startDate, TimeZone.getTimeZone("UTC")); event.setStart(new EventDateTime().setDateTime(start)); DateTime end = new DateTime(endDate, TimeZone.getTimeZone("UTC")); event.setEnd(new EventDateTime().setDateTime(end)); // Import the event into a calendar Event importedEvent = service.events().calendarImport('primary', event).execute(); System.out.println(importedEvent.getId());
Python
Menggunakan library klien Python.
event = { 'summary': 'Appointment', 'location': 'Somewhere', 'organizer': { 'email': 'organizerEmail', 'displayName': 'organizerDisplayName' }, 'start': { 'dateTime': '2011-06-03T10:00:00.000-07:00' }, 'end': { 'dateTime': '2011-06-03T10:25:00.000-07:00' }, 'attendees': [ { 'email': 'attendeeEmail', 'displayName': 'attendeeDisplayName', }, # ... ], 'iCalUID': 'originalUID' } imported_event = service.events().import_(calendarId='primary', body=event).execute() print imported_event['id']
PHP
Menggunakan library klien PHP.
$event = new Google_Service_Calendar_Event(); $event->setSummary('Appointment'); $event->setLocation('Somewhere'); $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime('2011-06-03T10:00:00.000-07:00'); $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime('2011-06-03T10:25:00.000-07:00'); $event->setEnd($end); $attendee1 = new Google_Service_Calendar_EventAttendee(); $attendee1->setEmail('attendeeEmail'); // ... $attendees = array($attendee1, // ..., ); $event->attendees = $attendees; $organizer = new Google_Service_Calendar_EventOrganizer(); $organizer->setEmail('organizerEmail'); $organizer->setDisplayName('organizerDisplayName'); $event->setOrganizer($organizer); $event->setICalUID('originalUID'); $importedEvent = $service->events->import('primary', $event); echo $importedEvent->getId();
Ruby
Menggunakan library klien Ruby.
event = Google::Apis::CalendarV3::Event.new( summary: 'Appointment', location: 'Somewhere', organizer: { email: 'organizerEmail', display_name: 'organizerDisplayName' }, start: { date_time: '2011-06-03T10:00:00.000-07:00' }, end: { date_time: '2011-06-03T10:25:00.000-07:00' }, attendees: [ { email: 'attendeeEmail', display_name: 'attendeeDisplayName', }, # ... ], i_cal_uid: 'originalUID' ) result = client.import_event('primary', event) print result.id
Cobalah!
Gunakan API Explorer di bawah untuk memanggil metode ini pada data langsung dan melihat responsnya.