Events: import

นำเข้าเหตุการณ์ การทำงานนี้ใช้เพื่อเพิ่มสำเนาส่วนตัวของกิจกรรมที่มีอยู่ไปยังปฏิทิน นำเข้าได้เฉพาะเหตุการณ์ที่มี eventType เป็น default เท่านั้น

ลักษณะการทำงานที่เลิกใช้งาน: หากนำเข้าเหตุการณ์ที่ไม่ใช่ default ระบบจะเปลี่ยนประเภทเหตุการณ์เป็น default และพร็อพเพอร์ตี้เฉพาะสำหรับประเภทเหตุการณ์ที่มีอยู่จะหายไป

ลองใช้เลยหรือดูตัวอย่าง

ส่งคำขอ

คำขอ HTTP

POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events/import

พารามิเตอร์

ชื่อพารามิเตอร์ ค่า คำอธิบาย
พารามิเตอร์เส้นทาง
calendarId string ตัวระบุปฏิทิน ในการเรียกรหัสปฏิทินให้เรียกใช้เมธอด calendarList.list หากต้องการเข้าถึงปฏิทินหลักของผู้ใช้ที่เข้าสู่ระบบในปัจจุบัน ให้ใช้คีย์เวิร์ด "primary"
พารามิเตอร์การค้นหาที่ไม่บังคับ
conferenceDataVersion integer หมายเลขเวอร์ชันของข้อมูลการประชุมที่ไคลเอ็นต์ API รองรับ เวอร์ชัน 0 ถือว่าไม่มีการสนับสนุนข้อมูลการประชุม และไม่สนใจข้อมูลการประชุมในเนื้อหาของกิจกรรม เวอร์ชัน 1 ช่วยให้สามารถคัดลอก ConeData และสามารถสร้างการประชุมใหม่โดยใช้ช่อง createRequest ของ meetData ค่าเริ่มต้นคือ 0 ค่าที่ยอมรับได้คือ 0 ถึง 1
supportsAttachments boolean การทำงานของไคลเอ็นต์ API จะรองรับไฟล์แนบเหตุการณ์หรือไม่ ไม่บังคับ ทั้งนี้ ระบบตั้งค่าเริ่มต้นไว้เป็น "เท็จ"

การให้สิทธิ์

คำขอนี้ต้องได้รับสิทธิ์โดยมีขอบเขตต่อไปนี้อย่างน้อย 1 ขอบเขต

ขอบเขต
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events

ดูข้อมูลเพิ่มเติมได้ที่หน้าการตรวจสอบสิทธิ์และการให้สิทธิ์

เนื้อหาของคำขอ

ในเนื้อหาคำขอ ให้ระบุทรัพยากรเหตุการณ์พร้อมด้วยพร็อพเพอร์ตี้ต่อไปนี้

ชื่อพร็อพเพอร์ตี้ ค่า คำอธิบาย Notes
พร็อพเพอร์ตี้ที่จำเป็น
end nested object เวลาสิ้นสุด (เฉพาะตัว) ของกิจกรรม สำหรับกิจกรรมที่เกิดซ้ำ เวลานี้จะเป็นการสิ้นสุดของอินสแตนซ์แรก
iCalUID string ตัวระบุที่ไม่ซ้ำกันของเหตุการณ์ตามที่กำหนดไว้ใน RFC5545 ซึ่งใช้เพื่อระบุกิจกรรมภายในระบบปฏิทินโดยไม่ซ้ำกัน และต้องระบุเมื่อนำเข้ากิจกรรมผ่านวิธีการimport

โปรดทราบว่า iCalUID และ id นั้นไม่เหมือนกัน และต้องระบุเพียงอย่างใดอย่างหนึ่งเมื่อสร้างเหตุการณ์ ความแตกต่างอย่างหนึ่งในความหมายคือ ในเหตุการณ์ที่เกิดซ้ำ เหตุการณ์ทั้งหมดที่เกิดขึ้นจะมี id ต่างกัน ในขณะที่ทุกเหตุการณ์จะใช้ iCalUID เดียวกัน หากต้องการเรียกเหตุการณ์โดยใช้ iCalUID ให้เรียกใช้เมธอดevents.list โดยใช้พารามิเตอร์ iCalUID หากต้องการเรียกเหตุการณ์โดยใช้ id ให้เรียกใช้เมธอด events.get

start nested object เวลาเริ่มต้น (รวม) ของกิจกรรม สำหรับกิจกรรมที่เกิดซ้ำ นี่คือเวลาเริ่มต้นของอินสแตนซ์แรก
พร็อพเพอร์ตี้ที่ไม่บังคับ
anyoneCanAddSelf boolean ทุกคนสามารถเชิญตนเองเข้าร่วมกิจกรรมได้หรือไม่ (เลิกใช้งานแล้ว) ไม่บังคับ ทั้งนี้ ระบบตั้งค่าเริ่มต้นไว้เป็น "เท็จ" เขียนได้
attachments[].fileUrl string URL ของไฟล์แนบ

สำหรับการเพิ่มไฟล์แนบของ Google ไดรฟ์ ให้ใช้รูปแบบเดียวกับในพร็อพเพอร์ตี้ alternateLink ของทรัพยากร Files ใน Drive API

ต้องระบุเมื่อเพิ่มไฟล์แนบ

เขียนได้
attendees[] list ผู้เข้าร่วมกิจกรรม โปรดดูคู่มือกิจกรรมที่มีผู้เข้าร่วมเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดเวลากิจกรรมกับผู้ใช้ปฏิทินคนอื่นๆ บัญชีบริการต้องใช้การมอบสิทธิ์ทั่วทั้งโดเมนเพื่อเติมข้อมูลรายชื่อผู้เข้าร่วม เขียนได้
attendees[].additionalGuests integer จำนวนแขกที่เข้าพักเพิ่มเติม ไม่บังคับ ค่าเริ่มต้นคือ 0 เขียนได้
attendees[].comment string ความคิดเห็นตอบกลับของผู้เข้าร่วม ไม่บังคับ เขียนได้
attendees[].displayName string ชื่อผู้เข้าร่วม (หากมี) ไม่บังคับ เขียนได้
attendees[].email string อีเมลของผู้เข้าร่วม (หากมี) ต้องมีช่องนี้เมื่อเพิ่มผู้เข้าร่วม ต้องเป็นอีเมลที่ถูกต้องตาม RFC5322

ต้องระบุเมื่อเพิ่มผู้เข้าร่วม

เขียนได้
attendees[].optional boolean ผู้เข้าร่วมรายนี้เป็นผู้เข้าร่วมที่ไม่บังคับใช่หรือไม่ ไม่บังคับ ทั้งนี้ ระบบตั้งค่าเริ่มต้นไว้เป็น "เท็จ" เขียนได้
attendees[].resource boolean ผู้เข้าร่วมเป็นทรัพยากรหรือไม่ สามารถตั้งค่าได้เมื่อมีการเพิ่มผู้เข้าร่วมในกิจกรรมเป็นครั้งแรกเท่านั้น ระบบจะไม่สนใจการแก้ไขหลังจากนั้น ไม่บังคับ ทั้งนี้ ระบบตั้งค่าเริ่มต้นไว้เป็น "เท็จ" เขียนได้
attendees[].responseStatus string สถานะการตอบกลับของผู้เข้าร่วม ค่าที่เป็นไปได้มีดังนี้:
  • "needsAction" - ผู้เข้าร่วมยังไม่ตอบรับคำเชิญ (แนะนำสำหรับกิจกรรมใหม่)
  • "declined" - ผู้เข้าร่วมปฏิเสธคำเชิญ
  • "tentative" - ผู้เข้าร่วมได้ตอบรับข้อความเชิญคร่าวๆ แล้ว
  • "accepted" - ผู้เข้าร่วมตอบรับคำเชิญแล้ว
เขียนได้
attendeesOmitted boolean มีการละเว้นผู้เข้าร่วมจากตัวแทนของกิจกรรมหรือไม่ เมื่อเรียกเหตุการณ์ เหตุการณ์นี้อาจเกิดจากข้อจำกัดที่ระบุโดยพารามิเตอร์การค้นหา maxAttendee เมื่ออัปเดตกิจกรรม สามารถใช้เพื่ออัปเดตคำตอบของผู้เข้าร่วมเท่านั้น ไม่บังคับ ทั้งนี้ ระบบตั้งค่าเริ่มต้นไว้เป็น "เท็จ" เขียนได้
colorId string สีของกิจกรรม นี่คือรหัสที่อ้างถึงรายการในส่วน event ของคำจำกัดความสี (ดู ปลายทางสี) ไม่บังคับ เขียนได้
conferenceData nested object ข้อมูลเกี่ยวกับการประชุม เช่น รายละเอียดการประชุมของ Google Meet หากต้องการสร้างรายละเอียดการประชุมใหม่ ให้ใช้ช่อง createRequest หากต้องการคงการเปลี่ยนแปลงไว้ อย่าลืมตั้งค่าพารามิเตอร์คำขอ conferenceDataVersion เป็น 1 สำหรับคำขอแก้ไขเหตุการณ์ทั้งหมด เขียนได้
description string คำอธิบายกิจกรรม มี HTML ได้ ไม่บังคับ เขียนได้
end.date date วันที่ในรูปแบบ "yyyy-mm-dd" หากเป็นกิจกรรมที่จัดขึ้นทั้งวัน เขียนได้
end.dateTime datetime เวลาเป็นค่าวันที่และเวลาแบบรวม (จัดรูปแบบตาม RFC3339) จำเป็นต้องมีการชดเชยเขตเวลา เว้นแต่จะมีการระบุเขตเวลาเป็น timeZone อย่างชัดเจน เขียนได้
end.timeZone string เขตเวลาที่ระบุเวลา (จัดรูปแบบเป็นชื่อฐานข้อมูลเขตเวลา IANA เช่น "ยุโรป/ซูริก") สำหรับกิจกรรมที่เกิดซ้ำ ฟิลด์นี้ต้องระบุและระบุเขตเวลาที่มีการขยายการเกิดซ้ำ สำหรับเหตุการณ์เดียว ช่องนี้จะระบุหรือไม่ก็ได้ และจะระบุเขตเวลาที่กำหนดเองสำหรับจุดเริ่มต้น/สิ้นสุดกิจกรรม เขียนได้
extendedProperties.private object พร็อพเพอร์ตี้ที่เป็นแบบส่วนตัวสำหรับสำเนาของกิจกรรมที่ปรากฏในปฏิทินนี้ เขียนได้
extendedProperties.shared object พร็อพเพอร์ตี้ที่แชร์ระหว่างสำเนากิจกรรมในปฏิทินของผู้เข้าร่วมรายอื่น เขียนได้
focusTimeProperties nested object ข้อมูลเหตุการณ์ที่ต้องการสมาธิ ใช้เมื่อ eventType คือ focusTime เขียนได้
gadget.display string โหมดการแสดงผลของแกดเจ็ต เลิกใช้งานแล้ว ค่าที่เป็นไปได้มีดังนี้:
  • "icon" - แกดเจ็ตจะแสดงอยู่ข้างชื่อกิจกรรมในมุมมองปฏิทิน
  • "chip" - แกดเจ็ตจะแสดงขึ้นเมื่อมีการคลิกกิจกรรม
เขียนได้
gadget.height integer ความสูงของแกดเจ็ต หน่วยเป็นพิกเซล ความสูงต้องเป็นจำนวนเต็มที่มากกว่า 0 ไม่บังคับ เลิกใช้งานแล้ว เขียนได้
gadget.preferences object ค่ากำหนด เขียนได้
gadget.title string ชื่อแกดเจ็ต เลิกใช้งานแล้ว เขียนได้
gadget.type string ประเภทของแกดเจ็ต เลิกใช้งานแล้ว เขียนได้
gadget.width integer ความกว้างของแกดเจ็ตเป็นพิกเซล ความกว้างต้องเป็นจำนวนเต็มที่มากกว่า 0 ไม่บังคับ เลิกใช้งานแล้ว เขียนได้
guestsCanInviteOthers boolean ผู้เข้าร่วมนอกเหนือจากผู้จัดสามารถเชิญผู้อื่นเข้าร่วมกิจกรรมได้หรือไม่ ไม่บังคับ ค่าเริ่มต้นคือ "จริง" เขียนได้
guestsCanModify boolean ผู้เข้าร่วมนอกเหนือจากผู้จัดจะแก้ไขกิจกรรมได้หรือไม่ ไม่บังคับ ทั้งนี้ ระบบตั้งค่าเริ่มต้นไว้เป็น "เท็จ" เขียนได้
guestsCanSeeOtherGuests boolean ผู้เข้าร่วมนอกเหนือจากผู้จัดสามารถดูได้ว่าผู้เข้าร่วมกิจกรรมเป็นใคร ไม่บังคับ ค่าเริ่มต้นคือ "จริง" เขียนได้
location string สถานที่ตั้งทางภูมิศาสตร์ของกิจกรรมแบบข้อความรูปแบบอิสระ ไม่บังคับ เขียนได้
organizer object ผู้จัดกิจกรรม หากผู้จัดเป็นผู้เข้าร่วมด้วย ระบบจะแสดงรายการแยกต่างหากใน attendees โดยตั้งค่าช่อง organizer เป็น "จริง" หากต้องการเปลี่ยนผู้จัด ให้ใช้การดำเนินการ move อ่านอย่างเดียว ยกเว้นเมื่อนำเข้าเหตุการณ์ เขียนได้
organizer.displayName string ชื่อผู้จัด (หากมี) เขียนได้
organizer.email string อีเมลของผู้จัด หากมี ต้องเป็นอีเมลที่ถูกต้องตาม RFC5322 เขียนได้
originalStartTime.date date วันที่ในรูปแบบ "yyyy-mm-dd" หากเป็นกิจกรรมที่จัดขึ้นทั้งวัน เขียนได้
originalStartTime.dateTime datetime เวลาเป็นค่าวันที่และเวลาแบบรวม (จัดรูปแบบตาม RFC3339) จำเป็นต้องมีการชดเชยเขตเวลา เว้นแต่จะมีการระบุเขตเวลาเป็น timeZone อย่างชัดเจน เขียนได้
originalStartTime.timeZone string เขตเวลาที่ระบุเวลา (จัดรูปแบบเป็นชื่อฐานข้อมูลเขตเวลา IANA เช่น "ยุโรป/ซูริก") สำหรับกิจกรรมที่เกิดซ้ำ ฟิลด์นี้ต้องระบุและระบุเขตเวลาที่มีการขยายการเกิดซ้ำ สำหรับเหตุการณ์เดียว ช่องนี้จะระบุหรือไม่ก็ได้ และจะระบุเขตเวลาที่กำหนดเองสำหรับจุดเริ่มต้น/สิ้นสุดกิจกรรม เขียนได้
outOfOfficeProperties nested object ข้อมูลกิจกรรมลางาน ใช้เมื่อ eventType คือ outOfOffice เขียนได้
recurrence[] list รายการบรรทัด RRULE, EXRULE, RDATE และ EXDATE สำหรับกิจกรรมที่เกิดซ้ำ ตามที่ระบุไว้ใน RFC5545 โปรดทราบว่าไม่อนุญาตให้ใช้บรรทัด DTSTART และ DTEND ในช่องนี้ เนื่องจากมีการระบุเวลาเริ่มต้นและสิ้นสุดของกิจกรรมในช่อง start และ end ช่องนี้จะถูกละไว้สำหรับกิจกรรมเดี่ยวหรือกิจกรรมที่เกิดซ้ำ เขียนได้
reminders.overrides[] list หากกิจกรรมไม่ได้ใช้การแจ้งเตือนเริ่มต้น ระบบจะแสดงการแจ้งเตือนสำหรับกิจกรรมดังกล่าวเท่านั้น หรือหากไม่ได้ตั้งค่า แสดงว่าไม่มีการตั้งค่าการแจ้งเตือนสำหรับกิจกรรมนี้ จำนวนการแจ้งเตือนให้ลบล้างสูงสุดคือ 5 ครั้ง เขียนได้
reminders.overrides[].method string วิธีการที่การช่วยเตือนนี้ใช้ ค่าที่เป็นไปได้มีดังนี้:
  • "email" - การช่วยเตือนจะส่งทางอีเมล
  • "popup" - การช่วยเตือนจะส่งผ่านป๊อปอัป UI

ต้องระบุเมื่อเพิ่มการช่วยเตือน

เขียนได้
reminders.overrides[].minutes integer จำนวนนาทีก่อนกิจกรรมจะเริ่มเมื่อการช่วยเตือนควรทริกเกอร์ ค่าที่ใช้ได้จะอยู่ระหว่าง 0 ถึง 40320 (4 สัปดาห์ในหน่วยนาที)

ต้องระบุเมื่อเพิ่มการช่วยเตือน

เขียนได้
reminders.useDefault boolean จะใช้การช่วยเตือนเริ่มต้นของปฏิทินกับกิจกรรมหรือไม่ เขียนได้
sequence integer หมายเลขลำดับตาม iCalendar เขียนได้
source.title string ชื่อของแหล่งที่มา เช่น ชื่อของหน้าเว็บหรือเรื่องของอีเมล เขียนได้
source.url string URL ของแหล่งที่มาที่ชี้ไปยังแหล่งข้อมูล Scheme ของ URL ต้องเป็น HTTP หรือ HTTPS เขียนได้
start.date date วันที่ในรูปแบบ "yyyy-mm-dd" หากเป็นกิจกรรมที่จัดขึ้นทั้งวัน เขียนได้
start.dateTime datetime เวลาเป็นค่าวันที่และเวลาแบบรวม (จัดรูปแบบตาม RFC3339) จำเป็นต้องมีการชดเชยเขตเวลา เว้นแต่จะมีการระบุเขตเวลาเป็น timeZone อย่างชัดเจน เขียนได้
start.timeZone string เขตเวลาที่ระบุเวลา (จัดรูปแบบเป็นชื่อฐานข้อมูลเขตเวลา IANA เช่น "ยุโรป/ซูริก") สำหรับกิจกรรมที่เกิดซ้ำ ฟิลด์นี้ต้องระบุและระบุเขตเวลาที่มีการขยายการเกิดซ้ำ สำหรับเหตุการณ์เดียว ช่องนี้จะระบุหรือไม่ก็ได้ และจะระบุเขตเวลาที่กำหนดเองสำหรับจุดเริ่มต้น/สิ้นสุดกิจกรรม เขียนได้
status string สถานะของเหตุการณ์ ไม่บังคับ ค่าที่เป็นไปได้มีดังนี้:
  • "confirmed" - กิจกรรมได้รับการยืนยันแล้ว นี่คือสถานะเริ่มต้น
  • "tentative" - กิจกรรมได้รับการยืนยันชั่วคราว
  • "cancelled" - กิจกรรมถูกยกเลิก (ลบแล้ว) เมธอด list จะแสดงผลเหตุการณ์ที่ยกเลิกเฉพาะในการซิงค์ที่เพิ่มขึ้น (เมื่อระบุ syncToken หรือ updatedMin) หรือหากมีการตั้งค่าสถานะ showDeleted เป็น true เมธอด get จะแสดงผลค่าเหล่านั้นเสมอ

    สถานะ "ยกเลิกแล้ว" จะแสดงถึง 2 สถานะที่แตกต่างกันโดยขึ้นอยู่กับประเภทกิจกรรม

    1. ข้อยกเว้นของกิจกรรมที่เกิดซ้ำที่ยกเลิกแล้วจะระบุว่าไม่ควรแสดงอินสแตนซ์นี้ต่อผู้ใช้อีกต่อไป ลูกค้าควรจัดเก็บกิจกรรมเหล่านี้ตลอดอายุของกิจกรรมที่เกิดซ้ำหลัก

      ระบบจะรับประกันว่าข้อยกเว้นที่ยกเลิกจะต้องมีค่าสำหรับช่อง id, recurringEventId และ originalStartTime ที่ป้อนข้อมูลเท่านั้น ช่องอื่นๆ อาจว่างเปล่า

    2. กิจกรรมอื่นๆ ที่ถูกยกเลิกทั้งหมดหมายถึงกิจกรรมที่ถูกลบ ไคลเอ็นต์ควรนำสำเนาที่ซิงค์ในเครื่องออก กิจกรรมที่ยกเลิกดังกล่าวจะหายไปในท้ายที่สุด ดังนั้นอย่าอาศัยกิจกรรมที่ยกเลิกไปแล้วโดยไม่มีกำหนด

      ระบบจะรับประกันว่ากิจกรรมที่ถูกลบจะมีการเติมข้อมูลในช่อง id เท่านั้น

    ในปฏิทินของผู้จัด กิจกรรมที่ยกเลิกจะยังคงแสดงรายละเอียดของกิจกรรม (สรุป สถานที่ ฯลฯ) ต่อไป เพื่อให้สามารถกู้คืนได้ (ยกเลิกการลบ) ในทำนองเดียวกัน กิจกรรมที่ผู้ใช้ได้รับเชิญและที่ผู้ใช้นําออกด้วยตนเองจะยังคงให้รายละเอียดต่อไป อย่างไรก็ตาม คำขอซิงค์ที่เพิ่มขึ้นที่มีการตั้งค่า showDeleted เป็น "เท็จ" จะไม่แสดงรายละเอียดเหล่านี้

    หากกิจกรรมเปลี่ยนผู้จัด (เช่น ผ่านการดำเนินการ move) และผู้จัดรายเดิมไม่ได้อยู่ในรายชื่อผู้เข้าร่วม กิจกรรมนั้นจะคงอยู่หลังกิจกรรมที่ถูกยกเลิก ซึ่งรับประกันว่าจะมีการป้อนข้อมูลเฉพาะช่อง id เท่านั้น

เขียนได้
summary string ชื่อกิจกรรม เขียนได้
transparency string กิจกรรมจะบล็อกเวลาในปฏิทินหรือไม่ ไม่บังคับ ค่าที่เป็นไปได้มีดังนี้:
  • "opaque" - ค่าเริ่มต้น กิจกรรมจะบล็อกเวลาในปฏิทิน ซึ่งจะเหมือนกับการตั้งค่าแสดงว่าฉันเป็นไม่ว่างใน UI ของปฏิทิน
  • "transparent" - กิจกรรมจะไม่บล็อกเวลาในปฏิทิน ซึ่งจะเหมือนกับการตั้งค่าแสดงว่าฉันเป็นว่างใน UI ของปฏิทิน
เขียนได้
visibility string ระดับการเข้าถึงกิจกรรม ไม่บังคับ ค่าที่เป็นไปได้มีดังนี้:
  • "default" - ใช้ระดับการเข้าถึงเริ่มต้นสำหรับกิจกรรมในปฏิทิน นี่คือค่าเริ่มต้น
  • "public" - กิจกรรมนี้เป็นแบบสาธารณะ และผู้อ่านทุกคนในปฏิทินจะเห็นรายละเอียดของกิจกรรม
  • "private" - กิจกรรมเป็นแบบส่วนตัวและเฉพาะผู้เข้าร่วมกิจกรรมเท่านั้นที่จะดูรายละเอียดของกิจกรรมได้
  • "confidential" - กิจกรรมนี้เป็นแบบส่วนตัว ค่านี้ให้ไว้ด้วยเหตุผลด้านความเข้ากันได้
เขียนได้

คำตอบ

หากสําเร็จ เมธอดนี้จะแสดงทรัพยากรเหตุการณ์ในเนื้อหาการตอบสนอง

ตัวอย่าง

หมายเหตุ: ตัวอย่างโค้ดที่มีสำหรับวิธีการนี้ไม่ได้แสดงถึงภาษาโปรแกรมที่รองรับทั้งหมด (ดูรายการภาษาที่รองรับได้ในหน้าไลบรารีของไคลเอ็นต์)

Java

ใช้ไลบรารีของไคลเอ็นต์ 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

ใช้ไลบรารีของไคลเอ็นต์ 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

ใช้ไลบรารีของไคลเอ็นต์ 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

ใช้ไลบรารีของไคลเอ็นต์ 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

ลองใช้เลย

ใช้ API Explorer ด้านล่างเพื่อเรียกใช้เมธอดนี้ในข้อมูลสดและดูการตอบสนอง