CalDAV คือส่วนขยายของ WebDAV ที่ให้มาตรฐานสำหรับไคลเอ็นต์ในการเข้าถึงข้อมูลปฏิทินในเซิร์ฟเวอร์ระยะไกล
Google มีอินเทอร์เฟซ CalDAV ที่คุณใช้เพื่อดูและจัดการปฏิทิน โดยใช้โปรโตคอล CalDAV ได้
ข้อกำหนดเฉพาะ
การรองรับ CalDAV ของ Google สำหรับข้อกำหนดที่เกี่ยวข้องแต่ละรายการมีดังนี้
- rfc4918: HTTP Extensions for Web Distributed Authoring and Versioning
(WebDAV)
- รองรับเมธอด HTTP
GET
,PUT
,HEAD
,DELETE
,POST
,OPTIONS
,PROPFIND
และPROPPATCH
- ไม่รองรับเมธอด HTTP
LOCK
,UNLOCK
,COPY
,MOVE
หรือMKCOL
หรือส่วนหัวIf*
(ยกเว้นIf-Match
) - ไม่รองรับพร็อพเพอร์ตี้ WebDAV ที่กำหนดเอง (ผู้ใช้กำหนด)
- ไม่รองรับการควบคุมการเข้าถึง WebDAV (rfc3744)
- รองรับเมธอด HTTP
- rfc4791: ส่วนขยายการจัดตารางเวลาสำหรับ WebDAV (CalDAV)
- รองรับเมธอด HTTP
REPORT
รายงานทั้งหมด ยกเว้น free-busy-query ได้รับการติดตั้งใช้งานแล้ว - ไม่รองรับเมธอด HTTP
MKCALENDAR
- ไม่รองรับการดำเนินการ
AUDIO
- รองรับเมธอด HTTP
- rfc5545: iCalendar
- ข้อมูลที่แสดงในอินเทอร์เฟซ CalDAV จะจัดรูปแบบตามข้อกำหนด iCalendar
- ขณะนี้ยังไม่รองรับข้อมูล
VTODO
หรือVJOURNAL
- ไม่รองรับส่วนขยาย Apple iCal® เพื่ออนุญาตให้ตั้งค่าพร็อพเพอร์ตี้ URL ที่ผู้ใช้ตั้งค่าได้
- rfc6578: Collection Synchronization for 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.