Events: import

นําเข้ากิจกรรม การดําเนินการนี้ใช้เพื่อเพิ่มสําเนาส่วนตัวของกิจกรรมที่มีอยู่ลงในปฏิทิน ลองใช้เลยหรือดูตัวอย่าง

ส่งคำขอ

คำขอ HTTP

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

พารามิเตอร์

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

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

คําขอนี้ต้องได้รับอนุญาตจากขอบเขตต่อไปนี้อย่างน้อย 1 ขอบเขต

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

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

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

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

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

โปรดทราบว่า iCalUID และ id ไม่ตรงกันทุกประการและควรระบุเพียงรายการเดียวตอนที่สร้างกิจกรรม ความแตกต่างอย่างหนึ่งของความหมายก็คือในเหตุการณ์ที่เกิดซ้ํา เหตุการณ์ทั้งหมดเหตุการณ์หนึ่งมี id ที่ต่างกัน โดยที่เหตุการณ์เหล่านั้นมี iCalUID เหมือนกัน หากต้องการเรียกเหตุการณ์โดยใช้ iCalUID ให้เรียกใช้เมธอด event.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 พร็อพเพอร์ตี้ที่แชร์ระหว่างสําเนาของกิจกรรมในปฏิทินของผู้เข้าร่วมคนอื่นๆ เขียนได้
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 เป็น "จริง" หากต้องการเปลี่ยนผู้จัด ให้ใช้การดําเนินการย้าย อ่านอย่างเดียว ยกเว้นเมื่อนําเข้าเหตุการณ์ เขียนได้
organizer.displayName string ชื่อผู้จัด (หากมี) เขียนได้
organizer.email string อีเมลของผู้จัด (หากมี) ต้องเป็นอีเมลที่ถูกต้องตาม RFC5322 เขียนได้
originalStartTime.date date วันที่ในรูปแบบ "yyyy-mm-dd" หากเป็นกิจกรรมตลอดทั้งวัน เขียนได้
originalStartTime.dateTime datetime เวลาเป็นค่าวันที่และเวลาแบบรวม (จัดรูปแบบตาม RFC3339) ต้องมีการชดเชยเขตเวลา เว้นแต่จะระบุเขตเวลาไว้อย่างชัดเจนใน timeZone เขียนได้
originalStartTime.timeZone string เขตเวลาที่ระบุเวลา (จัดรูปแบบเป็นชื่อฐานข้อมูลเขตเวลา IANA เช่น "ยุโรป/ซูริค") กิจกรรมที่เกิดซ้ําจะต้องกรอกช่องนี้และระบุเขตเวลาที่ต้องการขยายการเกิดซ้ํา สําหรับเหตุการณ์เดียว ช่องนี้จะมีหรือไม่ก็ได้และจะระบุเขตเวลาที่กําหนดเองสําหรับจุดเริ่มต้น/สิ้นสุดเหตุการณ์ เขียนได้
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 ของแหล่งที่มาที่ชี้ไปยังทรัพยากร รูปแบบของ 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 เป็น "เท็จ" จะไม่แสดงรายละเอียดเหล่านี้

    หากกิจกรรมมีการเปลี่ยนแปลงผู้จัด (เช่น ผ่านการดําเนินการย้าย) และผู้จัดเดิมไม่ได้อยู่ในรายชื่อผู้เข้าร่วม กิจกรรมนั้นจะคงอยู่หลังกิจกรรมถูกยกเลิกและมั่นใจได้ว่าจะมีการป้อนข้อมูลในช่อง 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 ด้านล่างเพื่อเรียกใช้วิธีการนี้สําหรับข้อมูลสดและดูการตอบกลับ