追加機能を使用してユーザーのカレンダーにアクセスして変更するスクリプト。
高度なカレンダー サービスを使用すると、Google Apps Script で公開 Google Calendar API を使用できます。Apps Script の組み込みのカレンダー サービスと同様に、この API を使用すると、スクリプトでユーザーの 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) メソッドを使用します。