CalDAV는 WebDAV의 확장 기능으로, 클라이언트가 해당 데이터에 액세스할 수 있는 표준을 제공합니다. 캘린더 정보를 표시합니다.
Google은 캘린더를 보고 관리하는 데 사용할 수 있는 CalDAV 인터페이스를 제공합니다. CalDAV 프로토콜을 사용하여 데이터를 전송합니다.
사양
각 관련 사양에 대해 Google의 CalDAV 지원은 다음과 같습니다.
- rfc4918: 웹 분산 작성 및 버전 관리를 위한 HTTP 확장 프로그램
(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
를 지원합니다. 한가함-바쁨-쿼리를 제외한 모든 보고서 구현됩니다. - HTTP 메서드
MKCALENDAR
을(를) 지원하지 않습니다. AUDIO
작업을 지원하지 않습니다.
- HTTP 메서드
- rfc5545: iCalendar
- CalDAV 인터페이스에 노출된 데이터는 iCalendar 사양.
- 현재
VTODO
또는VJOURNAL
데이터는 지원되지 않습니다. - 사용자가 설정 가능한 URL 속성을 허용하는 Apple iCal® 확장 프로그램을 지원하지 않습니다.
- rfc6578: WebDAV를 위한 컬렉션 동기화
- 클라이언트 애플리케이션은 초기 동기화
- rfc6638: CalDAV로 확장 프로그램 예약
- 간단한 '받은편지함'을 지원합니다. 항상 비어 있습니다.
- 받은 초대장은 자동으로 '이벤트'로 전송됩니다. 컬렉션에 넣지 않아도 됩니다.
- 한가함-바쁨 조회를 지원하지 않습니다.
- caldav-ctag-02: CalDAV의 캘린더 컬렉션 항목 태그 (CTag)
ctag
캘린더는 리소스etag
와 같습니다. 뭔가가 바뀌면 일정이 변경되었습니다. 이렇게 하면 클라이언트 애플리케이션에서 모든 변경 사항을 동기화할 필요가 없다는 것을 이벤트를 수신합니다.
- calendar-proxy: CalDAV의 캘린더 사용자 프록시 기능
- iOS 기기에서 캘린더 동기화 성능을 개선하기 위해
위임을 지원하지 않으며
calendar-proxy-read-for
또는 iOS UserAgent가 있는calendar-proxy-write-for
속성은 실패합니다.
- iOS 기기에서 캘린더 동기화 성능을 개선하기 위해
위임을 지원하지 않으며
Google은 아직 지정할 수도 있습니다 하지만 Apple의 캘린더 앱과 같은 많은 클라이언트의 경우 CalDAV 프로토콜이 올바르게 상호 운용되어야 합니다.
참고: 계정 보안 및 악용 방지를 위해 Google은 CalDAV를 통해 데이터에 액세스하는 클라이언트 응용 프로그램에 쿠키를 설정할 수 있습니다.
클라이언트 ID 만들기
CalDAV API를 사용하려면 다음이 필요합니다. Google 계정 사용할 수 있는 계정이 이미 있다면 별도의 조치를 취할 필요가 없습니다.
CalDAV API에 요청을 보내려면 먼저 클라이언트와 Google API 콘솔을 연결할 수 있습니다.
Google API 콘솔로 이동합니다. 프로젝트 만들기를 클릭합니다. 이름을 입력하고 만들기를 클릭합니다.
다음 단계는 CalDAV API를 활성화하는 것입니다.프로젝트에 API를 사용 설정하려면 다음 단계를 따르세요.
- Google API 콘솔에서 API 라이브러리를 엽니다. 메시지가 표시되면 프로젝트를 만들거나 새 프로젝트를 만듭니다 API 라이브러리에는 사용 가능한 API 제품군 및 인기도를 기준으로 그룹화됩니다.
- 사용 설정하려는 API가 목록에 없는 경우 검색을 사용하여 찾습니다.
- 사용 설정할 API를 선택한 다음 사용 설정을 클릭합니다. 버튼을 클릭합니다.
- 메시지가 표시되면 결제를 사용 설정합니다.
- 메시지가 표시되면 API의 서비스 약관에 동의합니다.
프로젝트의 클라이언트 ID와 클라이언트 비밀번호를 찾으려면 다음 단계를 따르세요.
- 기존 OAuth 2.0 선택 사용자 인증 정보를 확인하거나 사용자 인증 정보 페이지를 엽니다.
- 프로젝트의 OAuth 2.0을 아직 만들지 않았다면 만듭니다. 사용자 인증 정보 만들기 > OAuth 클라이언트 ID 사용자 인증 정보를 만드는 데 필요한 정보를 제공합니다.
- OAuth 2.0 클라이언트 ID 섹션에서 클라이언트 ID를 찾습니다. 자세한 내용을 보려면 클라이언트 ID를 클릭하세요.
Google CalDAV 서버에 연결
CalDAV 인터페이스를 사용하기 위해 클라이언트 프로그램은 처음에
캘린더 서버를 시작합니다. 두 경우 모두 연결은
HTTPS를 통해 사용해야 하며 OAuth 2.0을 사용해야 합니다.
인증 스키마입니다. CalDAV 서버가 요청 인증을 거부함
Google 계정의 OAuth 2.0 인증으로 HTTPS를 통해 도착하지 않는 한
HTTP를 통해 연결을 시도하거나 기본 인증을 사용하면 HTTP가
401 Unauthorized
상태 코드입니다.
클라이언트 프로그램 (예: Apple의 캘린더 앱)에 주 구성원 컬렉션을 시작점으로 사용할 경우 연결할 URI는 다음과 같습니다.
https://apidata.googleusercontent.com/caldav/v2/calid/user
여기서 calid
는
'캘린더 ID' 캘린더 일정입니다. 이는
캘린더 웹 인터페이스를 엽니다.
캘린더 이름에서 캘린더 설정을 선택합니다. 결과 페이지
캘린더 ID가 캘린더
Address: 사용자의 기본 캘린더에 대한 캘린더 ID는 다음과 같습니다.
사용자의 이메일 주소를
입력할 수 있습니다
클라이언트 프로그램 (예: Mozilla Sunbird)에 사용되는 경우 캘린더 컬렉션을 시작점으로 사용할 경우 연결할 URI는 다음과 같습니다.
https://apidata.googleusercontent.com/caldav/v2/calid/events
기존 엔드포인트(https://www.google.com/calendar/dav)는 더 이상 지원되지 않습니다. 사용에 따른 책임은 사용자에게 있습니다. 위에 설명된 새로운 엔드포인트 형식으로 전환하는 것이 좋습니다.
iCal®은 Apple Inc.의 상표입니다.