Google Workspace アドオンを作成する

このページでは、Google Workspace アドオンの設計、作成、公開方法の概要について説明します。この概要では、次の手順について説明します。

  1. ユーザーがアドオンを利用できるようにする Google Workspace アプリケーションを決定します。
  2. アドオンのプロジェクトを設定し、オーナーと共同編集者を選択します。
  3. アドオンの外観と動作を設計して構成します。
  4. アドオンをビルドします。
  5. アドオンの OAuth スコープを確認します。
  6. 1 つ以上の Google Workspace アプリケーションでアドオンをテストします。
  7. アドオンを公開します。

Google Workspace ホスト アプリケーションを選択する

Google Workspace アドオンは、次の Google Workspace ホスト アプリケーションに表示するように構成できます。

  • Gmail
  • Google カレンダー
  • Google Chat(デベロッパー プレビュー)
  • Google ドキュメント
  • Google ドライブ
  • Google スプレッドシート
  • Google スライド

Google Workspace アプリケーション用にビルドする方法については、Google Workspace UI を拡張するをご覧ください。

アドオンのプロジェクトを設定し、オーナーと共同編集者を選択する

Apps Script でアドオンをビルドする場合は、Apps Script プロジェクトと Google Cloud プロジェクトの両方を作成します。Apps Script 以外の言語でアドオンをビルドする場合は、Google Cloud プロジェクトを作成するだけで済みます。

アドオンの開発を開始する前に、プロジェクトを所有する単一のユーザー アカウントを選択し、他のどのアカウントを共同編集者にするかを決定します。プロジェクトのオーナーはプロジェクト ファイルと関連設定を作成して管理し、共同編集者はコーディングとテストをサポートします。

Apps Script プロジェクト

アドオンの Apps Script プロジェクト ファイルを共有ドライブに作成すると、単一のアカウントが単独で所有することはありません。アドオン スクリプト ファイルを共有ドライブに配置すると、複数の共同編集者がスクリプト プロジェクトにアクセスできます。

アドオンを公開する場合、1 つのユーザー アカウントが公開元として機能します。公開アカウントにはスクリプト プロジェクトに対する編集アクセス権が必要ですが、オーナーである必要はありません。

Apps Script プロジェクトを作成するには、スクリプト プロジェクトをご覧ください。

Google Cloud プロジェクト

アドオンの Cloud プロジェクトに共同編集者を追加することをおすすめします。これにより、チームのメンバーがアドオンの Cloud 設定にいつでもアクセスできるようになります。

Google Cloud プロジェクトを作成するには、Google Cloud プロジェクトを作成するをご覧ください。

アドオンの外観と動作を設計して構成する

アドオンの作成を開始する前に、アドオンの外観と動作を決定します。アドオンで解決しようとするユースケースを検討します。最初はシンプルなデザインから始めて、動作を確認してから、さらに改良を加えます。

アドオンのユーザー エクスペリエンスを設計する方法については、Google Workspace アドオン スタイルガイドをご覧ください。

アドオン マニフェストを構成する

アドオンを設計したら、アドオン マニフェストにデザインを実装できます。マニフェストでは、アドオンが拡張する Google Workspace ホスト アプリケーションなど、アドオンの外観と動作のほとんどを構成します。

詳しくは、Google Workspace アドオンのマニフェストをご覧ください。

アドオンにコードと機能を追加する際は、必要に応じてマニフェストを編集して、必要なアドオンの外観と動作を実現します。

Google Chat アプリの外観と動作を構成する

Google Chat を拡張するアドオンを設計した場合は、Google Chat API を使用して Chat アプリの外観と動作を構成する必要があります。手順については、Google Chat アプリを構成するをご覧ください。

アドオンをビルドする

アドオンにはカードベースのインターフェースを実装する必要があります。Apps Script のカード サービスを使用するか、別のコード言語で記述している場合は、インターフェースがカードとしてレンダリングできるように、適切にフォーマットされた JSON を返します。

また、アドオン マニフェストで指定されているトリガー関数を実装する必要があります。アドオンが OAuth を使用して Google 以外のサードパーティ サービスに接続する場合は、そのサービス用に OAuth を構成する必要があります。

カードを作成

アドオンのユーザー インターフェースを定義するには、Card オブジェクトを作成し、ウィジェットで埋めます。マニフェストで指定されたトリガー関数は、単一の Card オブジェクト、またはアドオン インターフェースの異なる「ページ」を表す Card オブジェクトの配列を返す必要があります。アドオンは、ユーザーの操作に応じて新しいカードを作成して表示することもできます。

Apps Script では、CardBuilder クラスを使用してカードを作成します。各カードには CardHeader と 1 つ以上の CardSections が必要です。各カード セクションには、アドオン インターフェースを構成する個々のウィジェットを配置する必要があります。通常、インタラクション ウィジェットアクションにリンクされ、インタラクションの動作が定義されます。

すべてのセクションとウィジェットを CardBuilder を介してカードに追加したら、CardBuilder.build() を呼び出して、対応する Card オブジェクトを作成する必要があります。

CalendarApp などの他の組み込み Apps Script サービスを使用して、作成するアドオンカードに表示する情報を取得できます。Google 以外のサービスから取得したデータを使用できます。

アドオンで OAuth を必要とする Google 以外の API にアクセスする必要がある場合は、そのサービスを構成して接続する必要があります。詳細については、Google 以外のサービスに接続するガイドをご覧ください。

建設注文

カードを作成する際は、チャージから作成する必要があります。つまり、次の順序で作成する必要があります。

  1. ウィジェットをビルドします。
  2. ウィジェットをカード セクションに追加します。
  3. カード セクションにすべてのウィジェットが配置されるまで繰り返します。
  4. カードにカード セクションを追加します。

これは、カードまたはカード セクションにウィジェットを追加すると、実際にはそのウィジェットのコピーが追加されるためです。ウィジェット オブジェクトを追加した後に変更を加えた場合は、最終的なカードには反映されません。

ユニバーサル アクション

ユニバーサル アクションを使用すると、コンテキストに依存しない機能を提供できます。ユニバーサル アクションは、表示されているカードに関係なく、アドオン UI で使用できるメニュー項目です。定義されたユニバーサル アクションはすべて、アドオンのカード メニューに常に表示されます。

詳しくは、ユニバーサル アクションをご覧ください。

アドオンの OAuth スコープを確認する

スコープは、アドオンがユーザーに代わって実行できるアクションを定義します。アドオンには、機能するために必要なアクションのスコープのみを設定することをおすすめします。

アドオン プロジェクトでは、アドオン スコープを明示的に設定して、アドオンで可能な限り制限の少ないスコープセットを使用するようにします。アドオンが使用するスコープは、アドオンのマニフェストで定義します。

詳しくは、スコープをご覧ください。

アドオンをテストする

公開されていないアドオンをテストするには、まず公開されていないアドオンをインストールします。インストールして承認すると、アカウントでアドオンを使用でき、拡張するホスト アプリケーションでその外観と動作をテストできます。コンテキストとユーザー アクションに対して、アドオンが想定どおりに動作することを確認する必要があります。

アドオンのテストを始めるには、次のガイドをご覧ください。

アドオンを公開する

アドオンを公開すると、一般公開またはドメイン内のユーザーに公開できます。公開プロセスを開始する前に、公開の概要をご確認ください。公開は複雑なプロセスであり、準備と時間が必要です。

Google Workspace アドオンは Google Workspace Marketplace に公開されます。一般公開されるアドオンは、公開前にアプリの審査を完了する必要があります。

詳しくは、Google Workspace アドオンの公開をご覧ください。