高度なカレンダー サービスを使用すると、Apps Script で一般公開されている Google Calendar API を使用できます。Apps Script の組み込みのカレンダー サービスと同様に、この API を使用すると、スクリプトでユーザーの Google カレンダー(ユーザーが登録している追加のカレンダーを含む)にアクセスして変更することができます。ほとんどの場合、組み込みサービスは使いやすいですが、この高度なサービスには、個々のイベントの背景色の設定など、いくつかの追加機能が用意されています。
リファレンス
このサービスの詳細については、一般公開の Google Calendar API のリファレンス ドキュメントをご覧ください。Apps Script のすべての高度なサービスと同様に、高度なカレンダー サービスでも、公開 API と同じオブジェクト、メソッド、パラメータを使用します。詳細については、メソッド シグネチャの決定方法をご覧ください。
問題の報告やその他のサポートのご案内については、カレンダーのサポートガイドをご覧ください。
HTTP リクエスト ヘッダー
高度なカレンダー サービスは、HTTP リクエスト ヘッダー If-Match
と If-None-Match
を受け入れます。詳細については、リファレンス ドキュメントをご覧ください。
サンプルコード
以下のサンプルコードでは、API のバージョン 3 を使用しています。
イベントの作成
次の例は、ユーザーのデフォルトのカレンダーにイベントを作成する方法を示しています。
カレンダーの一覧表示
次の例は、ユーザーのカレンダー リストに表示されているカレンダーの詳細を取得する方法を示しています。
イベントの一覧表示
次の例は、ユーザーのデフォルトのカレンダーで今後 10 件の今後の予定を一覧表示する方法を示しています。
イベントの条件付き変更
次の例は、If-Match
ヘッダーを使用して、条件付きでカレンダーの予定を更新する方法を示しています。このスクリプトは、新しいイベントを作成して 30 秒待ってから、イベントの作成後にイベントの詳細が変更されていない場合にのみイベントを更新します。
条件付きのイベントの取得
次の例は、If-None-Match
ヘッダーを使用してカレンダーの予定を条件付きで取得する方法を示しています。スクリプトは新しいイベントを作成し、そのイベントを 30 秒間ポーリングします。イベントが変更されると、新しいバージョンが取得されます。
イベントを同期する
次の例は、同期トークンを使用してイベントを取得する方法を示しています。カレンダーの高度なサービス リクエストに同期トークンを含めると、トークンの生成後に変更されたアイテムのみを含むレスポンスが返されるため、処理の効率が向上します。同期プロセスの詳細については、リソースを効率的に同期するをご覧ください。
次の例では、上記の例で定義されているものと同じ getRelativeDate(daysOffset, hour)
メソッドを使用します。