Google Workspace アドオンのトリガー

Apps Script トリガーは、指定されたイベントが発生するたびに、指定されたスクリプト関数(トリガー関数)を実行します。特定のイベントによってトリガーがトリガーされることがあります。Google Workspace アプリケーションによって、サポートされるイベントのセットは異なります。

トリガーが起動すると、イベント オブジェクトが作成されます。この JSON 構造には、発生したイベントの詳細が含まれています。イベント オブジェクト構造の情報は、トリガーのタイプに応じて異なります。

イベント オブジェクトが作成されると、Apps Script がパラメータとしてトリガー関数に渡します。トリガー関数はコールバック関数であり、イベントへの応答に適したアクションを実行するために、ご自身で実装する必要があります。たとえば、Gmail を拡張する Google Workspace アドオンでは、ユーザーがメッセージ スレッドを開いたときに新しいカード インターフェースを作成するトリガーを定義できます。この場合、コンテキストに応じたコールバック関数を実装して、イベント オブジェクトで渡されたデータを使用して、新しい UI を構成するカードを作成します。

このページでは、Google Workspace アドオン プロジェクトでトリガーを使用する際のガイドラインについて説明します。

マニフェスト トリガー

エディタ アドオンとは異なり、現在、Google Workspace アドオンでは Apps Script シンプル トリガーを使用できません。代わりに、Google Workspace アドオン用に設計されたトリガー(マニフェスト トリガー)を使用します。

マニフェスト トリガーは、Google Workspace アドオンのマニフェストで完全に定義されます。マニフェスト トリガーの例を以下に示します。

  • ホームページ トリガー: アドオンのホームページをビルドして表示します。
  • カレンダーのイベント オープン トリガー: カレンダーの予定が開かれたときに、新しいカードを表示したり、その他の操作を行ったりします。
  • カレンダーの eventUpdate トリガーは、ユーザーがカレンダーの予定を編集および保存したときに、新しいカードを表示するなどの操作を行います。
  • Drive onItemsSelected トリガー。ユーザーがドライブの 1 つ以上のファイルやフォルダを選択したときに、新しいカードを表示する操作などの操作を行います。
  • ユーザーが Gmail の作成ウィンドウでアドオンを開いたときにアドオンカードを表示する Gmail の作成トリガー
  • ユーザーが Gmail のメールを開いたときに、新しいカードを表示したり、その他の操作を行ったりする Gmail のコンテキスト トリガー
  • エディタの onFileScopeGranted トリガー。ユーザーが現在の編集者ドキュメントで drive.file OAuth スコープの権限を付与したときに、新しいカードを表示します。

上のリストでは、ホームページのトリガーのみがコンテキストなしであり、残りはコンテキスト トリガーです。マニフェスト トリガーの定義について詳しくは、マニフェストをご覧ください。

Google Workspace アドオンでは、マニフェスト トリガーに加えて、Apps Script のインストール可能なトリガーを使用することもできます。

制限

マニフェスト トリガーの使用には特定の制限があります。

  • これらのトリガーは Google Workspace アドオン プロジェクトでのみ使用されます。他のアプリケーションでは使用できません。
  • これらはコードではなくアドオン マニフェストで定義されているため、Apps Script Script サービスを使用してこれらのトリガーを作成または変更することはできません。
  • 現在、Gmail のコンテキスト トリガーには unconditional 条件のみを含めることができます。 つまり、コンテンツ トリガーは、コンテンツに関係なく、すべてのメール メッセージに対して起動します。