บริการปฏิทินขั้นสูงช่วยให้คุณใช้ Google Calendar API สาธารณะใน Apps Script ได้ API นี้จะช่วยให้สคริปต์เข้าถึงและแก้ไข Google ปฏิทินของผู้ใช้ได้ รวมถึงปฏิทินอื่นๆ ที่ผู้ใช้ติดตาม เช่นเดียวกับบริการปฏิทินในตัวของ Apps Script ในกรณีส่วนใหญ่ บริการในตัวจะใช้งานง่ายกว่า แต่บริการขั้นสูงนี้มีฟีเจอร์เพิ่มเติมบางอย่าง เช่น การตั้งค่าสีพื้นหลังสำหรับกิจกรรมแต่ละรายการ
ข้อมูลอ้างอิง
ดูข้อมูลโดยละเอียดเกี่ยวกับบริการนี้ได้ที่เอกสารอ้างอิงสำหรับ API ของ Google ปฏิทินแบบสาธารณะ เช่นเดียวกับบริการขั้นสูงทั้งหมดใน Apps Script บริการขั้นสูงของปฏิทิน จะใช้ออบเจ็กต์ เมธอด และพารามิเตอร์เดียวกันกับ API สาธารณะ ดูข้อมูลเพิ่มเติมได้ที่วิธีกำหนดลายเซ็นของเมธอด
หากต้องการรายงานปัญหาและรับการสนับสนุนอื่นๆ โปรดดูคู่มือการสนับสนุนของปฏิทิน
ส่วนหัวของคำขอ HTTP
บริการปฏิทินขั้นสูงยอมรับส่วนหัวของคำขอ HTTP
If-Match
และ If-None-Match
ได้ ดูรายละเอียดได้ที่เอกสารประกอบอ้างอิง
โค้ดตัวอย่าง
ตัวอย่างโค้ดด้านล่างใช้ API เวอร์ชัน 3
การสร้างเหตุการณ์
ตัวอย่างต่อไปนี้แสดงวิธีสร้างกิจกรรมในปฏิทินเริ่มต้นของผู้ใช้
การแสดงปฏิทิน
ตัวอย่างต่อไปนี้แสดงวิธีดึงรายละเอียดเกี่ยวกับปฏิทิน ที่แสดงในรายการปฏิทินของผู้ใช้
การแสดงกิจกรรม
ตัวอย่างต่อไปนี้แสดงวิธีแสดงกิจกรรมที่กำลังจะเกิดขึ้น 10 รายการถัดไปในปฏิทินเริ่มต้นของผู้ใช้
การแก้ไขเหตุการณ์แบบมีเงื่อนไข
ตัวอย่างต่อไปนี้แสดงวิธีอัปเดตกิจกรรมในปฏิทินแบบมีเงื่อนไขโดยใช้ส่วนหัว If-Match
สคริปต์จะสร้างกิจกรรมใหม่ รอ 30 วินาที จากนั้น
อัปเดตกิจกรรมก็ต่อเมื่อไม่มีการเปลี่ยนแปลงรายละเอียดกิจกรรมตั้งแต่มีการสร้างกิจกรรม
การดึงข้อมูลเหตุการณ์แบบมีเงื่อนไข
ตัวอย่างต่อไปนี้แสดงวิธีดึงข้อมูลกิจกรรมในปฏิทินแบบมีเงื่อนไขโดยใช้ส่วนหัว If-None-Match
สคริปต์จะสร้างเหตุการณ์ใหม่ จากนั้นจะสำรวจการเปลี่ยนแปลงในเหตุการณ์เป็นเวลา 30 วินาที ทุกครั้งที่กิจกรรมมีการเปลี่ยนแปลง ระบบจะดึงข้อมูลเวอร์ชันใหม่
การซิงค์กิจกรรม
ตัวอย่างต่อไปนี้แสดงวิธีดึงข้อมูลเหตุการณ์โดยใช้โทเค็นการซิงค์ เมื่อคุณรวมโทเค็นการซิงค์ไว้ในคำขอใช้บริการขั้นสูงของปฏิทิน การตอบกลับที่ได้จะมีเฉพาะรายการที่มีการเปลี่ยนแปลงนับตั้งแต่สร้างโทเค็นนั้น ซึ่งจะช่วยให้ประมวลผลได้อย่างมีประสิทธิภาพมากขึ้น ดูรายละเอียดเพิ่มเติมเกี่ยวกับกระบวนการซิงค์ได้ที่หัวข้อ ซิงค์ทรัพยากรอย่างมีประสิทธิภาพ
ตัวอย่างต่อไปนี้ใช้getRelativeDate(daysOffset, hour)
เมธอดเดียวกันกับที่กำหนดไว้ในตัวอย่างด้านบน