Events: insert

สร้างกิจกรรม ลองใช้เลยหรือดูตัวอย่าง

ส่งคำขอ

คำขอ HTTP

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

พารามิเตอร์

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

การส่งการแจ้งเตือนเกี่ยวกับการสร้างเหตุการณ์ใหม่ โปรดทราบว่าระบบอาจยังคงส่งอีเมลบางฉบับแม้ว่าคุณจะตั้งค่าเป็น false ก็ตาม ค่าเริ่มต้นคือ false
sendUpdates string การส่งการแจ้งเตือนเกี่ยวกับการสร้างกิจกรรมใหม่ โปรดทราบว่าระบบอาจยังส่งอีเมลบางฉบับ โดยมีค่าเริ่มต้นเป็น false

ค่าที่ยอมรับมีดังนี้
  • "all": ระบบจะส่งการแจ้งเตือนไปยังผู้เข้าร่วมทุกคน
  • "externalOnly": ระบบจะส่งการแจ้งเตือนไปยังผู้เข้าร่วมที่ไม่ใช่ผู้ใช้ Google ปฏิทินเท่านั้น
  • "none": ระบบจะไม่ส่งการแจ้งเตือน
supportsAttachments boolean ระบุว่าไคลเอ็นต์ API ที่ดําเนินการรองรับไฟล์แนบของเหตุการณ์หรือไม่ ไม่บังคับ ค่าเริ่มต้นคือ False

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

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

ขอบเขต
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

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

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

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

ชื่อพร็อพเพอร์ตี้ ค่า คำอธิบาย หมายเหตุ
พร็อพเพอร์ตี้ที่จำเป็น
end nested object เวลาสิ้นสุด (ไม่รวม) ของกิจกรรม สําหรับกิจกรรมที่เกิดซ้ำ ค่านี้คือเวลาสิ้นสุดของอินสแตนซ์แรก
start nested object เวลาเริ่มต้น (รวมวันที่เริ่มต้น) ของกิจกรรม สำหรับกิจกรรมที่เกิดซ้ำ ข้อมูลนี้คือเวลาเริ่มต้นของอินสแตนซ์แรก
พร็อพเพอร์ตี้ที่ไม่บังคับ
anyoneCanAddSelf boolean ทุกคนสามารถเชิญตนเองเข้าร่วมกิจกรรมได้หรือไม่ (เลิกใช้งานแล้ว) ไม่บังคับ ค่าเริ่มต้นคือ False เขียนได้
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 ระบุว่าผู้เข้าร่วมรายนี้เป็นตัวเลือกหรือไม่ ไม่บังคับ ค่าเริ่มต้นคือ False เขียนได้
attendees[].resource boolean ระบุว่าผู้เข้าร่วมเป็นทรัพยากรหรือไม่ ตั้งค่าได้เมื่อเพิ่มผู้เข้าร่วมไปยังกิจกรรมเป็นครั้งแรกเท่านั้น ระบบจะไม่สนใจการแก้ไขในภายหลัง ไม่บังคับ ค่าเริ่มต้นคือ False เขียนได้
attendees[].responseStatus string สถานะการตอบกลับของผู้เข้าร่วม ค่าที่เป็นไปได้มีดังนี้
  • "needsAction" - ผู้เข้าร่วมยังไม่ได้ตอบกลับคำเชิญ (แนะนำสำหรับกิจกรรมใหม่)
  • "declined" - ผู้เข้าร่วมปฏิเสธคำเชิญ
  • "tentative" - ผู้เข้าร่วมตอบรับคําเชิญชั่วคราวแล้ว
  • "accepted" - ผู้เข้าร่วมยอมรับคำเชิญแล้ว
เขียนได้
birthdayProperties nested object ข้อมูลวันเกิดหรือกิจกรรมพิเศษ ใช้ในกรณีที่ eventType เป็น "birthday" เปลี่ยนแปลงไม่ได้ เขียนได้
birthdayProperties.type string ประเภทวันเกิดหรือกิจกรรมพิเศษ ค่าที่เป็นไปได้มีดังนี้
  • "anniversary" - วันครบรอบที่ไม่ใช่วันเกิด มี contact เสมอ
  • "birthday" - กิจกรรมวันเกิด นี่คือค่าเริ่มต้น
  • "custom" - วันที่พิเศษซึ่งมีป้ายกำกับที่ระบุเพิ่มเติมในช่อง customTypeName มี contact เสมอ
  • "other" - วันที่พิเศษซึ่งไม่อยู่ในหมวดหมู่อื่นๆ และไม่มีป้ายกำกับที่กำหนดเอง มี contact เสมอ
  • "self" - วันเกิดของเจ้าของปฏิทิน ต้องไม่มี contact
Calendar API รองรับเฉพาะการสร้างกิจกรรมประเภท "birthday" คุณจะเปลี่ยนประเภทหลังจากสร้างกิจกรรมแล้วไม่ได้
เขียนได้
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 เช่น "Europe/Zurich") สําหรับกิจกรรมที่เกิดซ้ำ ช่องนี้ต้องระบุและระบุเขตเวลาที่ขยายการเกิดซ้ำ สำหรับกิจกรรมเดียว ช่องนี้ไม่บังคับและระบุเขตเวลาที่กำหนดเองสำหรับเวลาเริ่มต้น/สิ้นสุดของกิจกรรม เขียนได้
eventType string ประเภทเหตุการณ์ที่เฉพาะเจาะจง คุณจะแก้ไขส่วนนี้หลังจากที่สร้างกิจกรรมแล้วไม่ได้ ค่าที่เป็นไปได้มีดังนี้
  • "birthday" - กิจกรรมพิเศษตลอดทั้งวันที่เกิดซ้ำทุกปี
  • "default" - กิจกรรมปกติหรือไม่ระบุเพิ่มเติม
  • "focusTime" - กิจกรรมที่ต้องการสมาธิ
  • "fromGmail" - กิจกรรมจาก Gmail สร้างเหตุการณ์ประเภทนี้ไม่ได้
  • "outOfOffice" - กิจกรรมลางาน
  • "workingLocation" - เหตุการณ์สถานที่ทํางาน
เขียนได้
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 ผู้เข้าร่วมที่ไม่ใช่ผู้จัดจะเชิญผู้อื่นให้เข้าร่วมกิจกรรมได้หรือไม่ ไม่บังคับ ค่าเริ่มต้นคือ True เขียนได้
guestsCanModify boolean กำหนดว่าผู้เข้าร่วมที่ไม่ใช่ผู้จัดงานจะแก้ไขกิจกรรมได้หรือไม่ ไม่บังคับ ค่าเริ่มต้นคือ False เขียนได้
guestsCanSeeOtherGuests boolean ผู้เข้าร่วมที่ไม่ใช่ผู้จัดจะเห็นรายชื่อผู้เข้าร่วมกิจกรรมหรือไม่ ไม่บังคับ ค่าเริ่มต้นคือ True เขียนได้
id string ตัวระบุแบบทึบของเหตุการณ์ เมื่อสร้างเหตุการณ์ใหม่แบบครั้งเดียวหรือแบบที่เกิดซ้ำ คุณสามารถระบุรหัสของเหตุการณ์ได้ รหัสที่ระบุต้องเป็นไปตามกฎต่อไปนี้
  • อักขระที่อนุญาตในรหัสคืออักขระที่ใช้ในการเข้ารหัสฐาน 32hex เช่น ตัวอักษรพิมพ์เล็ก a-v และตัวเลข 0-9 โปรดดูส่วน 3.1.2 ใน RFC2938
  • รหัสต้องมีความยาวระหว่าง 5 ถึง 1,024 อักขระ
  • รหัสต้องไม่ซ้ำกันในแต่ละปฏิทิน
เนื่องจากระบบมีการกระจายอยู่ทั่วโลก เราจึงไม่สามารถรับประกันได้ว่าระบบจะตรวจพบการชนกันของรหัส ณ เวลาสร้างเหตุการณ์ เราขอแนะนำให้ใช้อัลกอริทึม UUID ที่กำหนดไว้ เช่น อัลกอริทึมที่อธิบายไว้ใน RFC4122 เพื่อลดความเสี่ยงที่จะมี UUID ซ้ำกัน

หากคุณไม่ได้ระบุรหัส ระบบจะสร้างรหัสให้โดยอัตโนมัติ

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

เขียนได้
location string สถานที่ตั้งทางภูมิศาสตร์ของกิจกรรมเป็นข้อความรูปแบบใดก็ได้ ไม่บังคับ เขียนได้
originalStartTime.date date วันที่ในรูปแบบ "yyyy-mm-dd" หากเป็นกิจกรรมตลอดวัน เขียนได้
originalStartTime.dateTime datetime เวลาเป็นค่าวันที่และเวลาแบบรวม (จัดรูปแบบตาม RFC3339) ต้องระบุเขตเวลาออฟเซ็ต เว้นแต่จะมีการระบุเขตเวลาอย่างชัดเจนใน timeZone เขียนได้
originalStartTime.timeZone string เขตเวลาที่ระบุเวลา (จัดรูปแบบเป็นชื่อฐานข้อมูลเขตเวลาของ IANA เช่น "Europe/Zurich") สําหรับกิจกรรมที่เกิดซ้ำ ช่องนี้ต้องระบุและระบุเขตเวลาที่ขยายการเกิดซ้ำ สำหรับกิจกรรมเดียว ช่องนี้ไม่บังคับและระบุเขตเวลาที่กำหนดเองสำหรับเวลาเริ่มต้น/สิ้นสุดของกิจกรรม เขียนได้
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 ของแหล่งที่มาที่ชี้ไปยังทรัพยากร รูปแบบ URL ต้องเป็น HTTP หรือ HTTPS เขียนได้
start.date date วันที่ในรูปแบบ "yyyy-mm-dd" หากเป็นกิจกรรมตลอดวัน เขียนได้
start.dateTime datetime เวลาเป็นค่าวันที่และเวลาแบบรวม (จัดรูปแบบตาม RFC3339) ต้องระบุเขตเวลาออฟเซ็ต เว้นแต่จะมีการระบุเขตเวลาอย่างชัดเจนใน timeZone เขียนได้
start.timeZone string เขตเวลาที่ระบุเวลา (จัดรูปแบบเป็นชื่อฐานข้อมูลเขตเวลาของ IANA เช่น "Europe/Zurich") สําหรับกิจกรรมที่เกิดซ้ำ ช่องนี้ต้องระบุและระบุเขตเวลาที่ขยายการเกิดซ้ำ สำหรับกิจกรรมเดียว ช่องนี้ไม่บังคับและระบุเขตเวลาที่กำหนดเองสำหรับเวลาเริ่มต้น/สิ้นสุดของกิจกรรม เขียนได้
status string สถานะของกิจกรรม ไม่บังคับ ค่าที่เป็นไปได้มีดังนี้
  • "confirmed" - กิจกรรมได้รับการยืนยันแล้ว สถานะนี้เป็นสถานะเริ่มต้น
  • "tentative" - กิจกรรมได้รับการยืนยันอย่างไม่แน่ใจ
  • "cancelled" - กิจกรรมถูกยกเลิก (ลบแล้ว) เมธอด list จะแสดงเหตุการณ์ที่ยกเลิกในการซิงค์แบบเพิ่มเท่านั้น (เมื่อระบุ syncToken หรือ updatedMin) หรือหากตั้งค่า Flag 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" - กิจกรรมเป็นแบบส่วนตัว ค่านี้มีไว้เพื่อเหตุผลด้านความเข้ากันได้
เขียนได้
workingLocationProperties nested object ข้อมูลเหตุการณ์ของสถานที่ทำงาน เขียนได้
workingLocationProperties.customLocation object (หากมี) ระบุว่าผู้ใช้ทํางานจากสถานที่ที่กําหนดเอง เขียนได้
workingLocationProperties.customLocation.label string ป้ายกำกับเพิ่มเติมที่ไม่บังคับสำหรับข้อมูลเพิ่มเติม เขียนได้
workingLocationProperties.homeOffice any value (หากมี) ระบุว่าผู้ใช้ทํางานอยู่ที่บ้าน เขียนได้
workingLocationProperties.officeLocation object (หากมี) ระบุว่าผู้ใช้ทํางานจากสำนักงาน เขียนได้
workingLocationProperties.officeLocation.buildingId string ตัวระบุอาคาร (ไม่บังคับ) ซึ่งควรอ้างอิงรหัสอาคารในฐานข้อมูลทรัพยากรขององค์กร เขียนได้
workingLocationProperties.officeLocation.deskId string ตัวระบุฝ่ายดูแลลูกค้า (ไม่บังคับ) เขียนได้
workingLocationProperties.officeLocation.floorId string ตัวระบุชั้น (ไม่บังคับ) เขียนได้
workingLocationProperties.officeLocation.floorSectionId string ตัวระบุส่วนของชั้น (ไม่บังคับ) เขียนได้
workingLocationProperties.officeLocation.label string ชื่อสำนักงานที่แสดงในไคลเอ็นต์ปฏิทินบนเว็บและอุปกรณ์เคลื่อนที่ เราขอแนะนำให้คุณอ้างอิงชื่ออาคารในฐานข้อมูลทรัพยากรขององค์กร เขียนได้
workingLocationProperties.type string ประเภทสถานที่ทํางาน ค่าที่เป็นไปได้มีดังนี้
  • "homeOffice" - ผู้ใช้ทำงานอยู่ที่บ้าน
  • "officeLocation" - ผู้ใช้ทํางานจากสำนักงาน
  • "customLocation" - ผู้ใช้ทํางานจากสถานที่ที่กำหนดเอง
รายละเอียดทั้งหมดจะระบุไว้ในช่องย่อยของชื่อที่ระบุ แต่ช่องนี้อาจหายไปหากไม่มีข้อมูล ระบบจะไม่สนใจช่องอื่นๆ

ต้องระบุเมื่อเพิ่มพร็อพเพอร์ตี้สถานที่ทํางาน

เขียนได้

คำตอบ

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

ตัวอย่าง

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

Java

ใช้ไลบรารีของไคลเอ็นต์ Java

// Refer to the Java quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/java
// Change the scope to CalendarScopes.CALENDAR and delete any stored
// credentials.

Event event = new Event()
    .setSummary("Google I/O 2015")
    .setLocation("800 Howard St., San Francisco, CA 94103")
    .setDescription("A chance to hear more about Google's developer products.");

DateTime startDateTime = new DateTime("2015-05-28T09:00:00-07:00");
EventDateTime start = new EventDateTime()
    .setDateTime(startDateTime)
    .setTimeZone("America/Los_Angeles");
event.setStart(start);

DateTime endDateTime = new DateTime("2015-05-28T17:00:00-07:00");
EventDateTime end = new EventDateTime()
    .setDateTime(endDateTime)
    .setTimeZone("America/Los_Angeles");
event.setEnd(end);

String[] recurrence = new String[] {"RRULE:FREQ=DAILY;COUNT=2"};
event.setRecurrence(Arrays.asList(recurrence));

EventAttendee[] attendees = new EventAttendee[] {
    new EventAttendee().setEmail("lpage@example.com"),
    new EventAttendee().setEmail("sbrin@example.com"),
};
event.setAttendees(Arrays.asList(attendees));

EventReminder[] reminderOverrides = new EventReminder[] {
    new EventReminder().setMethod("email").setMinutes(24 * 60),
    new EventReminder().setMethod("popup").setMinutes(10),
};
Event.Reminders reminders = new Event.Reminders()
    .setUseDefault(false)
    .setOverrides(Arrays.asList(reminderOverrides));
event.setReminders(reminders);

String calendarId = "primary";
event = service.events().insert(calendarId, event).execute();
System.out.printf("Event created: %s\n", event.getHtmlLink());

Python

ใช้ไลบรารีของไคลเอ็นต์ Python

# Refer to the Python quickstart on how to setup the environment:
# https://developers.google.com/calendar/quickstart/python
# Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
# stored credentials.

event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': 'lpage@example.com'},
    {'email': 'sbrin@example.com'},
  ],
  'reminders': {
    'useDefault': False,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10},
    ],
  },
}

event = service.events().insert(calendarId='primary', body=event).execute()
print 'Event created: %s' % (event.get('htmlLink'))

PHP

ใช้ไลบรารีของไคลเอ็นต์ PHP

// Refer to the PHP quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/php
// Change the scope to Google_Service_Calendar::CALENDAR and delete any stored
// credentials.

$event = new Google_Service_Calendar_Event(array(
  'summary' => 'Google I/O 2015',
  'location' => '800 Howard St., San Francisco, CA 94103',
  'description' => 'A chance to hear more about Google\'s developer products.',
  'start' => array(
    'dateTime' => '2015-05-28T09:00:00-07:00',
    'timeZone' => 'America/Los_Angeles',
  ),
  'end' => array(
    'dateTime' => '2015-05-28T17:00:00-07:00',
    'timeZone' => 'America/Los_Angeles',
  ),
  'recurrence' => array(
    'RRULE:FREQ=DAILY;COUNT=2'
  ),
  'attendees' => array(
    array('email' => 'lpage@example.com'),
    array('email' => 'sbrin@example.com'),
  ),
  'reminders' => array(
    'useDefault' => FALSE,
    'overrides' => array(
      array('method' => 'email', 'minutes' => 24 * 60),
      array('method' => 'popup', 'minutes' => 10),
    ),
  ),
));

$calendarId = 'primary';
$event = $service->events->insert($calendarId, $event);
printf('Event created: %s\n', $event->htmlLink);

Ruby

ใช้ไลบรารีของไคลเอ็นต์ Ruby

event = Google::Apis::CalendarV3::Event.new(
  summary: 'Google I/O 2015',
  location: '800 Howard St., San Francisco, CA 94103',
  description: 'A chance to hear more about Google\'s developer products.',
  start: Google::Apis::CalendarV3::EventDateTime.new(
    date_time: '2015-05-28T09:00:00-07:00',
    time_zone: 'America/Los_Angeles'
  ),
  end: Google::Apis::CalendarV3::EventDateTime.new(
    date_time: '2015-05-28T17:00:00-07:00',
    time_zone: 'America/Los_Angeles'
  ),
  recurrence: [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  attendees: [
    Google::Apis::CalendarV3::EventAttendee.new(
      email: 'lpage@example.com'
    ),
    Google::Apis::CalendarV3::EventAttendee.new(
      email: 'sbrin@example.com'
    )
  ],
  reminders: Google::Apis::CalendarV3::Event::Reminders.new(
    use_default: false,
    overrides: [
      Google::Apis::CalendarV3::EventReminder.new(
        reminder_method: 'email',
        minutes: 24 * 60
      ),
      Google::Apis::CalendarV3::EventReminder.new(
        reminder_method: 'popup',
        minutes: 10
      )
    ]
  )
)

result = client.insert_event('primary', event)
puts "Event created: #{result.html_link}"

.NET

ใช้ไลบรารีของไคลเอ็นต์ .NET

// Refer to the .NET quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/dotnet
// Change the scope to CalendarService.Scope.Calendar and delete any stored
// credentials.

Event newEvent = new Event()
{
    Summary = "Google I/O 2015",
    Location = "800 Howard St., San Francisco, CA 94103",
    Description = "A chance to hear more about Google's developer products.",
    Start = new EventDateTime()
    {
        DateTime = DateTime.Parse("2015-05-28T09:00:00-07:00"),
        TimeZone = "America/Los_Angeles",
    },
    End = new EventDateTime()
    {
        DateTime = DateTime.Parse("2015-05-28T17:00:00-07:00"),
        TimeZone = "America/Los_Angeles",
    },
    Recurrence = new String[] { "RRULE:FREQ=DAILY;COUNT=2" },
    Attendees = new EventAttendee[] {
        new EventAttendee() { Email = "lpage@example.com" },
        new EventAttendee() { Email = "sbrin@example.com" },
    },
    Reminders = new Event.RemindersData()
    {
        UseDefault = false,
        Overrides = new EventReminder[] {
            new EventReminder() { Method = "email", Minutes = 24 * 60 },
            new EventReminder() { Method = "sms", Minutes = 10 },
        }
    }
};

String calendarId = "primary";
EventsResource.InsertRequest request = service.Events.Insert(newEvent, calendarId);
Event createdEvent = request.Execute();
Console.WriteLine("Event created: {0}", createdEvent.HtmlLink);

Go

ใช้ไลบรารีไคลเอ็นต์ Go

// Refer to the Go quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/go
// Change the scope to calendar.CalendarScope and delete any stored credentials.

event := &calendar.Event{
  Summary: "Google I/O 2015",
  Location: "800 Howard St., San Francisco, CA 94103",
  Description: "A chance to hear more about Google's developer products.",
  Start: &calendar.EventDateTime{
    DateTime: "2015-05-28T09:00:00-07:00",
    TimeZone: "America/Los_Angeles",
  },
  End: &calendar.EventDateTime{
    DateTime: "2015-05-28T17:00:00-07:00",
    TimeZone: "America/Los_Angeles",
  },
  Recurrence: []string{"RRULE:FREQ=DAILY;COUNT=2"},
  Attendees: []*calendar.EventAttendee{
    &calendar.EventAttendee{Email:"lpage@example.com"},
    &calendar.EventAttendee{Email:"sbrin@example.com"},
  },
}

calendarId := "primary"
event, err = srv.Events.Insert(calendarId, event).Do()
if err != nil {
  log.Fatalf("Unable to create event. %v\n", err)
}
fmt.Printf("Event created: %s\n", event.HtmlLink)

JavaScript

ใช้ไลบรารีไคลเอ็นต์ JavaScript

// Refer to the JavaScript quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/js
// Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
// stored credentials.

var event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles'
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles'
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': 'lpage@example.com'},
    {'email': 'sbrin@example.com'}
  ],
  'reminders': {
    'useDefault': false,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10}
    ]
  }
};

var request = gapi.client.calendar.events.insert({
  'calendarId': 'primary',
  'resource': event
});

request.execute(function(event) {
  appendPre('Event created: ' + event.htmlLink);
});

Node.js

ใช้ไลบรารีของไคลเอ็นต์ Node.js

// Refer to the Node.js quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/node
// Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
// stored credentials.

var event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': 'lpage@example.com'},
    {'email': 'sbrin@example.com'},
  ],
  'reminders': {
    'useDefault': false,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10},
    ],
  },
};

calendar.events.insert({
  auth: auth,
  calendarId: 'primary',
  resource: event,
}, function(err, event) {
  if (err) {
    console.log('There was an error contacting the Calendar service: ' + err);
    return;
  }
  console.log('Event created: %s', event.htmlLink);
});

ลองใช้งาน

ใช้โปรแกรมสำรวจ API ด้านล่างเพื่อเรียกใช้เมธอดนี้กับข้อมูลจริงและดูการตอบกลับ