CalDAV API デベロッパー ガイド

CalDAV は WebDAV の拡張機能で、クライアントがアクセスするための標準を提供する カレンダー情報を取得します。

Google が提供する CalDAV インターフェースを使用してカレンダーを表示、管理できる CalDAV プロトコルを使用します

仕様

関連する各仕様について、Google の CalDAV サポートは次のとおりです。

  • rfc4918: ウェブの分散オーサリングとバージョニングのための HTTP 拡張 (WebDAV) <ph type="x-smartling-placeholder">
      </ph>
    • HTTP メソッド GETPUTHEADDELETEPOST をサポートします。 OPTIONSPROPFINDPROPPATCH
    • HTTP メソッド LOCKUNLOCKCOPYMOVE、または MKCOL、または If* ヘッダー(If-Match を除く)。
    • 任意の(ユーザー定義の)WebDAV プロパティはサポートされていません。
    • WebDAV アクセス制御(rfc3744)はサポートされていません。
  • rfc4791: Calendaring Extensions to WebDAV(CalDAV) <ph type="x-smartling-placeholder">
      </ph>
    • HTTP メソッド REPORT をサポートします。空き時間情報クエリを除くすべてのレポート 確認します。
    • HTTP メソッド MKCALENDAR はサポートされていません。
    • AUDIO アクションはサポートしていません。
  • rfc5545: iCalendar <ph type="x-smartling-placeholder">
      </ph>
    • CalDAV インターフェースで公開されるデータのフォーマットは、 iCalendar の仕様。
    • 現在、VTODO または VJOURNAL のデータはサポートされていません。
    • ユーザーが設定可能な URL プロパティを許可する Apple iCal® 拡張機能はサポートされていません。
  • rfc6578: WebDAV のコレクション同期 <ph type="x-smartling-placeholder">
      </ph>
    • クライアント アプリケーションは、 最初の同期が行われます。
  • rfc6638: CalDAV に対する拡張機能のスケジュール設定 <ph type="x-smartling-placeholder">
      </ph>
    • シンプルな「受信トレイ」やこれは常に空です。
    • 受け取った招待状は、自動的に自分の「予定」に配信されます。 受信トレイに配置するのではなく、
    • 空き時間情報検索はサポートされていません。
  • caldav-ctag-02: CalDAV のカレンダー コレクションのエンティティ タグ(CTag) <ph type="x-smartling-placeholder">
      </ph>
    • カレンダー ctag はリソース etag のようなものです。変更が加えられると カレンダーの招待状が 変更されますこれにより、クライアント アプリケーションは アプリケーションの変更を同期する必要がないことを できます。
  • calendar-proxy: CalDAV でのカレンダー ユーザー プロキシ機能 <ph type="x-smartling-placeholder">
      </ph>
    • iOS デバイスからのカレンダーの同期のパフォーマンスを向上させるには、 委任をサポートしていない場合、calendar-proxy-read-for または iOS ユーザー エージェントを使用した calendar-proxy-write-for プロパティは失敗します。

関連するすべてのソリューションがまだ完全に実装されていない 仕様。ただし、Apple のカレンダー アプリなど、多くのクライアントでは CalDAV プロトコルは正しく相互運用できるはずです。

注: アカウントのセキュリティと不正使用の防止のため、Google では CalDAV 経由でデータにアクセスするクライアント アプリケーションに Cookie を設定することがあります。

クライアント ID の作成

CalDAV API を使用するには、以下が必要です。 Google アカウント 使用できるアカウントがすでにある場合は、準備が整っています。

CalDAV API にリクエストを送信するには、 プロジェクトを作成して、Google API Console でクライアント API にログインできます。

Google API Console に移動します。[プロジェクトを作成] をクリックします。 名前を入力して [作成] をクリックします。

次に、CalDAV API を有効にします。

プロジェクトで API を有効にする手順は、次のとおりです。

  1. Google API コンソールで API ライブラリを開きます。プロンプトが表示されたら、 新しいプロジェクトを作成します。API ライブラリには、利用できるすべての API がプロダクト ファミリーと人気度によって分類され、表示されます。
  2. 有効にする API がリストで見当たらない場合は、検索して見つけます。
  3. 有効にする API を選択し、[有効にする] をクリックします。 ] ボタンを離します。
  4. プロンプトが表示されたら、請求機能を有効にします。
  5. プロンプトが表示されたら、API の利用規約に同意します。
で確認できます。 CalDAV API リクエストを実行するには、以下が必要です。 Client IDClient Secret

プロジェクトのクライアント ID とクライアント シークレットを検索するには、次の手順を実行します。

  1. 既存の OAuth 2.0 を選択します。 認証情報を開くか、[認証情報] ページを開きます。
  2. プロジェクトの OAuth 2.0 を作成します(まだ作成していない場合)。 [認証情報を作成] >OAuth クライアント ID 認証情報の作成に必要な情報を入力します。
  3. [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"アクセスできます。これは Google カレンダー ウェブ インターフェースです。 [カレンダー設定] を選択します。表示されるページで カレンダー ID は、[カレンダー 住所。ユーザーのメイン カレンダーのカレンダー ID は そのユーザーのメールアドレスを入力します。

クライアント プログラム( Mozilla Sunbird など)には、 使用する場合、接続先の URI は次のようになります。

https://apidata.googleusercontent.com/caldav/v2/calid/events

古いエンドポイント https://www.google.com/calendar/dav は 非推奨になり、サポートされなくなりました。ご自身の責任で使用してください。 前述の新しいエンドポイント形式に移行することをおすすめします。

iCal® は Apple Inc. の商標です。