CalDAV เป็นส่วนขยายของ WebDAV ที่ให้มาตรฐานสำหรับลูกค้าในการเข้าถึงข้อมูลปฏิทินบนเซิร์ฟเวอร์ระยะไกล
Google มีอินเทอร์เฟซ CalDAV ที่คุณสามารถใช้เพื่อดูและจัดการปฏิทินโดยใช้โปรโตคอล CalDAV
ข้อกำหนดเฉพาะ
สำหรับข้อกำหนดเฉพาะที่เกี่ยวข้องแต่ละรายการ การรองรับ CalDAV ของ Google มีดังนี้
- rfc4918: ส่วนขยาย HTTP สำหรับการเขียนและการกำหนดเวอร์ชันที่เผยแพร่บนเว็บ
(WebDAV)
- รองรับเมธอด HTTP
GET
,PUT
,HEAD
,DELETE
,POST
,OPTIONS
,PROPFIND
และPROPPATCH
- ไม่รองรับเมธอด HTTP
LOCK
,UNLOCK
,COPY
,MOVE
หรือMKCOL
หรือส่วนหัวIf*
(ยกเว้นIf-Match
) - ไม่รองรับพร็อพเพอร์ตี้ WebDAV ที่กำหนดเอง (กำหนดโดยผู้ใช้)
- ไม่รองรับ WebDAV Access Control (rfc3744)
- รองรับเมธอด HTTP
- rfc4791: การขยายปฏิทินไปยัง WebDAV (CalDAV)
- รองรับเมธอด HTTP
REPORT
มีการใช้รายงานทั้งหมดยกเว้นคำค้นหาว่าง-ไม่ว่าง - ไม่รองรับเมธอด HTTP
MKCALENDAR
- ไม่รองรับการดำเนินการ
AUDIO
- รองรับเมธอด HTTP
- rfc5545: iปฏิทิน
- ข้อมูลที่แสดงในอินเทอร์เฟซ CalDAV จะได้รับการจัดรูปแบบตามข้อกำหนดของ iปฏิทิน
- ขณะนี้ยังไม่รองรับข้อมูล
VTODO
หรือVJOURNAL
- ไม่สนับสนุนส่วนขยาย Apple iCal® เพื่ออนุญาตพร็อพเพอร์ตี้ของ URL ที่ผู้ใช้ตั้งค่าได้
- rfc6578: การซิงค์คอลเล็กชันสำหรับ WebDAV
- แอปพลิเคชันไคลเอ็นต์ต้องเปลี่ยนเป็นโหมดนี้หลังจากการซิงค์ครั้งแรก
- rfc6638: การตั้งเวลาส่วนขยายให้กับ CalDAV
- รองรับ "กล่องจดหมาย" ที่ไม่สำคัญ ซึ่งจะว่างเปล่าเสมอ
- คำเชิญที่คุณได้รับจะถูกส่งไปยังคอลเล็กชัน "กิจกรรม" โดยอัตโนมัติ แทนที่จะนำไปไว้ใน "กล่องจดหมาย"
- ไม่รองรับการค้นหาข้อมูลว่าง-ไม่ว่าง
- caldav-ctag-02: แท็กเอนทิตีคอลเล็กชันปฏิทิน (CTag) ใน CalDAV
- ปฏิทิน
ctag
เป็นเหมือนทรัพยากรetag
ซึ่งจะเปลี่ยนเมื่อทุกอย่างในปฏิทินเปลี่ยนแปลงไป วิธีนี้จะช่วยให้แอปพลิเคชันไคลเอ็นต์ระบุได้อย่างรวดเร็วว่าไม่จำเป็นต้องซิงค์ข้อมูลเหตุการณ์ที่มีการเปลี่ยนแปลง
- ปฏิทิน
- calendar-proxy: ฟังก์ชันพร็อกซีของผู้ใช้ปฏิทินใน CalDAV
- หากต้องการปรับปรุงประสิทธิภาพการซิงค์ปฏิทินจากอุปกรณ์ iOS ซึ่งไม่รองรับการมอบสิทธิ์ การใช้พร็อพเพอร์ตี้
calendar-proxy-read-for
หรือcalendar-proxy-write-for
กับ UserAgent ของ iOS จะไม่สำเร็จ
- หากต้องการปรับปรุงประสิทธิภาพการซิงค์ปฏิทินจากอุปกรณ์ iOS ซึ่งไม่รองรับการมอบสิทธิ์ การใช้พร็อพเพอร์ตี้
เรายังไม่ได้จัดทำข้อกำหนดที่เกี่ยวข้องทั้งหมดอย่างเต็มรูปแบบ อย่างไรก็ตาม สำหรับไคลเอ็นต์จำนวนมาก เช่น แอปปฏิทินของ Apple โปรโตคอล CalDAV ควรที่จะทำงานร่วมกันได้อย่างถูกต้อง
หมายเหตุ: เพื่อความปลอดภัยของบัญชีและป้องกันการละเมิด Google อาจตั้งค่าคุกกี้ในแอปพลิเคชันไคลเอ็นต์ที่เข้าถึงข้อมูลผ่าน CalDAV
การสร้างรหัสไคลเอ็นต์
หากต้องการใช้ CalDAV API คุณต้องมีบัญชี Google ถ้าคุณมีบัญชีที่ใช้อยู่แล้ว ไม่ต้องดำเนินการใดๆ เพิ่มเติม
ก่อนที่จะส่งคำขอไปยัง CalDAV API คุณต้องลงทะเบียนไคลเอ็นต์กับคอนโซล Google API โดยสร้างโปรเจ็กต์
ไปที่คอนโซล Google API คลิกสร้างโปรเจ็กต์ ป้อนชื่อ แล้วคลิกสร้าง
ขั้นตอนถัดไปคือเปิดใช้งาน CalDAV APIหากต้องการเปิดใช้ API สำหรับโปรเจ็กต์ของคุณ ให้ทำดังนี้
- เปิดไลบรารี API ในคอนโซล Google API หากมีข้อความแจ้ง ให้เลือกโปรเจ็กต์หรือสร้างโปรเจ็กต์ใหม่ ไลบรารี API จะแสดง API ที่มีอยู่ทั้งหมด โดยจัดกลุ่มตามกลุ่มผลิตภัณฑ์และความนิยม
- หาก API ที่ต้องการเปิดใช้ไม่ปรากฏในรายการ ให้ใช้การค้นหาเพื่อค้นหา
- เลือก API ที่ต้องการเปิดใช้ แล้วคลิกปุ่มเปิดใช้
- หากได้รับข้อความแจ้ง ให้เปิดใช้การเรียกเก็บเงิน
- หากได้รับข้อความแจ้ง ให้ยอมรับข้อกำหนดในการให้บริการของ API
วิธีค้นหารหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ของโปรเจ็กต์
- เลือกข้อมูลเข้าสู่ระบบ OAuth 2.0 ที่มีอยู่หรือเปิดหน้าข้อมูลเข้าสู่ระบบ
- หากยังไม่ได้ดำเนินการ ให้สร้างข้อมูลเข้าสู่ระบบ OAuth 2.0 ของโปรเจ็กต์โดยคลิกสร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth แล้วระบุข้อมูลที่จำเป็นต่อการสร้างข้อมูลเข้าสู่ระบบ
- มองหารหัสไคลเอ็นต์ในส่วนรหัสไคลเอ็นต์ OAuth 2.0 คลิกรหัสไคลเอ็นต์เพื่อดูรายละเอียด
กำลังเชื่อมต่อกับเซิร์ฟเวอร์ CalDAV ของ Google
ในการใช้อินเทอร์เฟซ CalDAV โปรแกรมไคลเอ็นต์จะเชื่อมต่อกับเซิร์ฟเวอร์ปฏิทินที่จุดเริ่มต้นหนึ่งในสองจุดแรก ในทั้ง 2 กรณีนี้ การเชื่อมต่อต้องทำผ่าน HTTPS และต้องใช้รูปแบบการตรวจสอบสิทธิ์ OAuth 2.0 เซิร์ฟเวอร์ CalDAV จะปฏิเสธการตรวจสอบสิทธิ์คำขอเว้นแต่คำขอจะมาถึง HTTPS ที่มีการตรวจสอบสิทธิ์ OAuth 2.0 ของบัญชี Google
การพยายามเชื่อมต่อผ่าน HTTP หรือใช้การตรวจสอบสิทธิ์พื้นฐานจะทำให้ระบบแสดงรหัสสถานะ HTTP 401 Unauthorized
หากโปรแกรมไคลเอ็นต์ (เช่น แอปปฏิทินของ Apple) กำหนดให้มีการรวบรวมรายการหลักเป็นจุดเริ่มต้น URI ที่จะเชื่อมต่อจะเป็นดังนี้
https://apidata.googleusercontent.com/caldav/v2/calid/user
โดยควรแทนที่ calid
ด้วย "รหัสปฏิทิน" ของปฏิทินที่ต้องการเข้าถึง ซึ่งดูได้จากอินเทอร์เฟซบนเว็บของ Google ปฏิทิน ดังนี้ เลือกการตั้งค่าปฏิทินในเมนูแบบเลื่อนลงข้างชื่อปฏิทิน ในหน้าผลลัพธ์ รหัสปฏิทินจะแสดงในส่วนที่ชื่อที่อยู่ปฏิทิน รหัสปฏิทินสำหรับปฏิทินหลักของผู้ใช้จะเหมือนกับอีเมลของผู้ใช้
หากโปรแกรมไคลเอ็นต์ (เช่น Mozilla Sunbird) กำหนดให้ใช้คอลเล็กชันปฏิทินเป็นจุดเริ่มต้น URI ที่จะเชื่อมต่อจะเป็นดังนี้
https://apidata.googleusercontent.com/caldav/v2/calid/events
เราเลิกใช้งานและไม่รองรับปลายทางเดิม https://www.google.com/calendar/dav แล้ว โปรดใช้โดยยอมรับความเสี่ยงเอง เราขอแนะนําให้เปลี่ยนไปใช้รูปแบบปลายทางใหม่ตามที่อธิบายไว้ข้างต้น
iCal® เป็นเครื่องหมายการค้าของ Apple Inc.