Events: insert

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

ส่งคำขอ

คำขอ HTTP

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

พารามิเตอร์

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

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

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

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

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

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

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

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

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

ชื่อพร็อพเพอร์ตี้ ค่า คำอธิบาย หมายเหตุ
พร็อพเพอร์ตี้ที่จำเป็น
end nested object เวลาสิ้นสุด (ไม่รวม) ของกิจกรรม สำหรับกิจกรรมที่เกิดซ้ำ นี่คือเวลาสิ้นสุดของอินสแตนซ์แรก
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" - ผู้เข้าร่วมได้ตอบรับคำเชิญแล้ว
เขียนได้
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 เช่น "ยุโรป/ซูริค") สำหรับกิจกรรมที่เกิดซ้ำ ให้กรอกข้อมูลในช่องนี้และระบุเขตเวลาที่จะขยายการเกิดซ้ำ สำหรับกิจกรรมเดียว ฟิลด์นี้จะใส่หรือไม่ก็ได้ และจะระบุเขตเวลาที่กำหนดเองสำหรับเวลาเริ่มต้น/สิ้นสุดของกิจกรรม เขียนได้
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 ผู้เข้าร่วมที่ไม่ใช่ผู้จัดจะแก้ไขกิจกรรมได้หรือไม่ ไม่บังคับ ค่าเริ่มต้นคือ "เท็จ" เขียนได้
guestsCanSeeOtherGuests boolean ผู้เข้าร่วมที่ไม่ใช่ผู้จัดกิจกรรมสามารถดูว่ามีใครมาเข้าร่วมได้บ้าง ไม่บังคับ ค่าเริ่มต้นคือ True เขียนได้
id string ตัวระบุแบบทึบแสงของเหตุการณ์ เมื่อสร้างกิจกรรมซิงเกิลหรือกิจกรรมที่เกิดซ้ำใหม่ คุณจะระบุรหัสได้ รหัสที่ระบุต้องเป็นไปตามกฎต่อไปนี้
  • อักขระที่อนุญาตในรหัสคืออักขระที่ใช้ในการเข้ารหัส base32hex เช่น อักษรตัวพิมพ์เล็ก a-v และตัวเลข 0-9 โปรดดูส่วนที่ 3.1.2 ใน RFC2938
  • รหัสต้องมีความยาวระหว่าง 5 ถึง 1,024 อักขระ
  • รหัสต้องไม่ซ้ำกันในแต่ละปฏิทิน
เนื่องจากลักษณะของระบบที่กระจายไปทั่วโลก เราจึงไม่สามารถรับประกันได้ว่าระบบจะตรวจพบการชนกันของรหัสในเวลาที่สร้างเหตุการณ์ เราขอแนะนำให้ใช้อัลกอริทึม UUID ที่สร้างขึ้น ดังเช่นที่อธิบายไว้ใน RFC4122 เพื่อลดความเสี่ยงของการชนกัน

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

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

เขียนได้
location string สถานที่ตั้งทางภูมิศาสตร์ของกิจกรรมโดยเป็นข้อความรูปแบบอิสระ ไม่บังคับ เขียนได้
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 หมายเลขลำดับตาม iปฏิทิน เขียนได้
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 เป็น "เท็จ" จะไม่แสดงรายละเอียดเหล่านี้

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