Google カレンダーのインターフェースの構築

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

Google Workspace アドオンは、ユーザーがカレンダーやカレンダーの予定を表示または編集しているときに、カスタマイズしたインターフェースを提供できます。これにより、ユーザーに追加情報を提供し、タスクを自動化し、サードパーティのシステムを Google カレンダーに接続できます。

Google カレンダーのアドオン インターフェースを作成する際に、ホームページを指定できます。複数のホストで同じホームページを使用することも、Google カレンダー用に特定のホームページを設計することもできます。

アドオンでは、ユーザーがカレンダーの予定を開いたときに表示されるインターフェースを定義することもできます。

アドオン UI へのアクセス

アドオンでは、開いた方法に応じて、ホームページのインターフェース、カレンダーの予定のインターフェース、添付ファイルの選択インターフェース、またはこれら 3 つすべてを定義できます。 Google Workspace

  • ユーザーがカレンダー ビューでアドオン アイコンをクリックすると、対応する calendar.homepageTrigger 関数(存在する場合)が実行されます。この関数は、ホームページのカードを作成して Google カレンダーに返し、表示します。calendar.homepageTrigger 関数が定義されていない場合は、代わりに汎用のホームページ カードが表示されます。
  • ユーザーがカレンダーの予定を開いてアドオン アイコンをクリックしたり、ユーザーが予定を開いたときにアドオンが開かれたりした場合、アドオンは対応する eventOpenTrigger 関数を実行します(存在する場合)。この関数はアドオンのカレンダー イベント インターフェースを作成し、表示する Google カレンダーに戻ります。
  • アドオンで eventAttachmentTrigger 関数が定義されている場合、ユーザーがカレンダーの予定を編集中に [添付ファイルを追加] をクリックすると、添付ファイル プロバイダとしてアドオンが表示されます。アドオンが選択されると、eventAttachmentTrigger 関数はアドオンの添付ファイル選択インターフェースを作成し、表示する Google カレンダーに返します。

アドオンのカレンダー インターフェースの構築

Google カレンダーをGoogle Workspace アドオンで拡張するには、次の手順を行います。

  1. アドオンにカレンダー固有のホームページを含めるかどうかを決定します。また、ユーザーがカレンダーの予定を編集しているときにカスタム インターフェースを提供するかどうかも決定します。
  2. 該当するスコープを含め、適切な addOns.common フィールドと addOns.calendar フィールドをアドオン スクリプト プロジェクトのマニフェストに追加します。
  3. カレンダー固有のホームページを提供する場合は、calendar.homepageTrigger 関数を実装してこのインターフェースを作成します。common.homepageTrigger インターフェースを複数のホストに使用する Google Workspace こともできます。
  4. カレンダーの予定のインターフェースを提供する場合は、このインターフェースを構築するために calendar.eventOpenTrigger 関数を実装する必要があります。詳しくは、カレンダーの予定のインターフェースの拡張をご覧ください。
  5. ボタンのクリックなど、ユーザーの UI 操作に応答するために必要な関連するコールバック関数を実装します。

カレンダーのホームページ

Google カレンダーは、 Google Workspaceアドオンのホームページの表示に対応しています。Google カレンダーにアドオンの一般的なホームページを表示するには、アドオンのマニフェストに addOns.calendar フィールドが含まれていることを確認してください。

または、calendar.homepageTrigger をアドオン マニフェストに追加して、カレンダー固有のホームページを提供します。

いずれの場合も、アドオンのスクリプト プロジェクトでホームページ トリガーの関数の名前を指定する必要があります。この関数は必要なときにカレンダー ホームページを作成するために自動的に呼び出されます。この関数は、単一の Card またはホームページを構成する Card オブジェクトの配列をビルドして返すように実装する必要があります。ホームページ トリガー関数には、クライアント プラットフォームなどの一般的な情報を含むパラメータとして、イベント オブジェクトが渡されます。イベント オブジェクト データを使用して、ホームページの構成をカスタマイズできます。

カレンダーの予定のインターフェースの拡張

Google カレンダーでは、コンテキスト トリガーに依存して、ユーザーがカレンダーの予定を編集したときに表示するインターフェース(ある場合)を決定します。トリガーが起動すると、アドオンのマニフェストcalendar.eventOpenTrigger フィールドで指定されたコンテキスト トリガー関数が実行されます。

calendar.eventOpenTrigger フィールドに指定された関数を実装する必要があります。この関数は、イベント オブジェクトを引数として受け取り、単一の Card オブジェクト、またはカレンダーで Card オブジェクトの配列を返します。これにより、ユーザーがイベントを開いたまま表示できるようになります。

イベント オブジェクト

ユーザーがカレンダー イベントを開くと、イベント オブジェクトが作成され、calendar.eventOpenTrigger コンテキスト トリガー関数に渡されます。トリガー関数は、このイベント オブジェクト内の情報を使用して、アドオンカードの作成方法やアドオン動作の制御方法を決定できます。また、アドオンが最初に開かれたとき、およびユーザーがインタラクティブ ウィジェットをクリックまたは選択したときに、イベント オブジェクトが作成され、homepageTrigger 関数に渡されます。

イベント オブジェクトの完全な構造については、イベント オブジェクトをご覧ください。カレンダーがアドオンの動作しているホストアプリの場合、コンテキスト トリガーとウィジェットの操作イベント オブジェクトには、カレンダー固有のクライアント情報を保持する Calendar event object フィールドが含まれます。

カレンダーの予定の更新

ユーザーが編集のためにカレンダーの予定を開くと発生するコンテキストの calendar.eventOpenTrigger に加えて、ユーザーがカレンダーの予定を更新、保存すると起動する calendar.eventUpdateTrigger を定義することもできます。このトリガーは、ユーザーが次の 1 つ以上の編集を行った場合にのみ起動します。

  • 1 人以上の参加者を追加します。
  • 1 人以上の参加者を削除します。
  • 別の会議ソリューションに追加または切り替える。

このトリガーが起動すると、calendar.eventUpdateTrigger マニフェスト フィールドで指定されたトリガー関数が実行されます。この関数は、カレンダーの予定の編集が保存される前に実行されます。

calendar.eventUpdateTrigger は通常、次のうち 1 つ以上を実施するために使用されます。

  • ユーザーによるカレンダーの予定の変更に応じて、アドオンのカレンダー イベント インターフェースを更新する。
  • カレンダーの予定のデータをサードパーティ製システム(Google カレンダーに接続されている会議システムなど)と同期できます。

カレンダーの予定のデータ(参加者リストなど)を調整するためにアドオンが必要な場合は、アドオンの calendar.currentEventAccess マニフェスト フィールドを WRITE または READ_WRITE に設定する必要があります。また、アドオンには https://www.googleapis.com/auth/calendar.addons.current.event.write スコープが必要です。

会議ソリューションを追加する

会議ソリューションは、ユーザーが Google カレンダーの予定に添付できるサードパーティの会議オプションです。サードパーティの会議の概要ドキュメントでは、新しい会議ソリューションを追加するアドオンの構築方法について詳しく説明しています。このタイプの拡張機能では、UI を作成する必要はありません。追加されたソリューションは、Google カレンダーの予定の UI のプルダウン メニューにオプションとして表示されます。