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: iCalendar
- ข้อมูลที่เปิดเผยในอินเทอร์เฟซ CalDAV จะได้รับการจัดรูปแบบตามข้อกําหนดของ iMessage
- ปัจจุบันยังไม่รองรับข้อมูล
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
กับ User Agent ของ iOS จะล้มเหลว
- หากต้องการปรับปรุงการซิงค์ปฏิทินจากอุปกรณ์ iOS ซึ่งไม่รองรับการมอบสิทธิ์ การใช้พร็อพเพอร์ตี้
เรายังไม่ได้จัดเตรียมข้อกําหนดที่เกี่ยวข้องทั้งหมดอย่างเต็มรูปแบบ อย่างไรก็ตาม สําหรับไคลเอ็นต์หลายรายการ เช่น Apple iCal โปรโตคอล CalDAV ควรทํางานร่วมกันได้อย่างถูกต้อง
หมายเหตุ: เพื่อความปลอดภัยของบัญชีและเพื่อป้องกันการละเมิด Google อาจตั้งค่าคุกกี้ในแอปพลิเคชันไคลเอ็นต์ที่เข้าถึงข้อมูลผ่าน CalDAV
การสร้างรหัสไคลเอ็นต์
หากต้องการใช้ CalDAV API คุณต้องมีบัญชี Google หากมีบัญชีที่ใช้งานได้ ทุกอย่างก็พร้อมใช้งาน
ก่อนที่จะส่งคําขอไปยัง CalDAV API คุณต้องลงทะเบียนไคลเอ็นต์กับคอนโซล Google API ด้วยการสร้างโปรเจ็กต์
ไปที่คอนโซล Google API คลิกสร้างโครงการ จากนั้นป้อนชื่อแล้วคลิกสร้าง
ขั้นตอนถัดไปคือการเปิดใช้งาน CalDAV APIหากต้องการเปิดใช้ API สําหรับโปรเจ็กต์ ให้ทําตามขั้นตอนต่อไปนี้
- เปิดไลบรารี API ในคอนโซล Google API เมื่อได้รับข้อความเตือน ให้เลือกโปรเจ็กต์หรือสร้างโปรเจ็กต์ใหม่ ไลบรารี API จะแสดง API ที่พร้อมใช้งานทั้งหมด โดยจัดกลุ่มตามตระกูลผลิตภัณฑ์และความนิยม
- หาก API ที่ต้องการเปิดใช้ไม่แสดงในรายการ ให้ใช้การค้นหาเพื่อหา API
- เลือก API ที่ต้องการเปิดใช้ แล้วคลิกปุ่มเปิดใช้
- เปิดใช้การเรียกเก็บเงินหากได้รับข้อความแจ้ง
- ยอมรับข้อกําหนดในการให้บริการของ API หากได้รับแจ้ง
หากต้องการค้นหารหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ของโปรเจ็กต์ ให้ทําดังนี้
- เลือกข้อมูลเข้าสู่ระบบ OAuth 2.0 ที่มีอยู่ หรือเปิดหน้าข้อมูลเข้าสู่ระบบ
- หากยังไม่ได้ดําเนินการ ให้สร้างข้อมูลเข้าสู่ระบบ OAuth 2.0 ของโปรเจ็กต์โดยคลิกสร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth และระบุข้อมูลที่จําเป็นในการสร้างข้อมูลเข้าสู่ระบบ
- มองหารหัสไคลเอ็นต์ในส่วนรหัสไคลเอ็นต์ OAuth 2.0 คลิกรหัสไคลเอ็นต์เพื่อดูรายละเอียด
การเชื่อมต่อกับเซิร์ฟเวอร์ CalDAV ของ Google
หากต้องการใช้อินเทอร์เฟซ CalDAV โปรแกรมไคลเอ็นต์จะเชื่อมต่อกับเซิร์ฟเวอร์ปฏิทินในตอนต้นของหนึ่งใน 2 จุดเริ่มต้น ในทั้ง 2 กรณี การเชื่อมต่อจะต้องทําผ่าน HTTPS และต้องใช้รูปแบบการตรวจสอบสิทธิ์ OAuth 2.0 เซิร์ฟเวอร์ CalDAV จะปฏิเสธการตรวจสอบสิทธิ์คําขอ ยกเว้นกรณีที่มาถึง HTTPS ด้วยการตรวจสอบสิทธิ์ OAuth 2.0 ของบัญชี Google
กําลังพยายามเชื่อมต่อผ่าน HTTP หรือใช้การตรวจสอบสิทธิ์พื้นฐานในรหัสสถานะ HTTP 401 Unauthorized
หากโปรแกรมไคลเอ็นต์ (เช่น Apple iCal) ต้องใช้คอลเล็กชันหลักเป็นจุดเริ่มต้น 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.