Google エディタ インターフェースの構築

Google Workspace アドオンを使用すると、エディタ内でインターフェースをカスタマイズできるほか、 Google ドキュメント、スプレッドシート、スライドですこれにより、ユーザーに次のような情報を提供できます。 タスクを自動化して、サードパーティのシステムを エディタ

アドオン UI へのアクセス

エディタで Google Workspace アドオンを開く アイコンが Google Workspace クイック ドキュメント、スプレッドシート、スライドのユーザーの右側にあるサイドパネルにアクセスする インターフェースです。

Google Workspace アドオンでは、次のインターフェースを表示できます。

  • ホームページのインターフェース: アドオンのマニフェスト トリガーを含む アドオンを開くエディタの場合は EDITOR_NAME.homepageTrigger。 そのアドオンがビルドし 専用のホームページ カード 表示されます。アドオンのマニフェストに ユーザーが開くエディタの EDITOR_NAME.homepageTrigger 代わりに汎用のホームページ カードが表示されます。

  • REST API インターフェース: アドオンが REST を使用する場合 ドキュメントへのファイル アクセスをリクエストするトリガーを含めることができます。 drive.file スコープを使用します。アクセスが許可されると、別のトリガーが EDITOR_NAME.onFileScopeGrantedTrigger が実行され、 そのファイルに固有のインターフェースを表示します。

  • プレビュー インターフェースをリンクする: アドオンが サードパーティのサービスと統合できるため、 サービス URL からのコンテンツを取得します。

エディタのアドオンのインターフェースの作成

エディタのアドオン インターフェースは、次の手順で作成します。

  1. 適切な addOns.common addOns.docsaddOns.sheets、 および addOns.slides フィールドをアドオン スクリプト プロジェクトのマニフェストに追加します。
  2. 必要なエディタ スコープを プロジェクト マニフェストに追加します。
  3. 編集者専用のホームページを用意している場合は、 実装する EDITOR_NAME.homepageTrigger 関数を使用してインターフェースを構築します。使用していない場合は、 common.homepageTrigger インターフェースを使用してホストアプリ用の共通のホームページを作成できます。
  4. REST API を使用する場合は、drive.file スコープ承認フローを実装する および EDITOR_NAME.onFileScopeGrantedTrigger オープン ファイルに固有のインターフェースを表示するトリガー関数。詳細情報 REST API インターフェースをご覧ください。
  5. サードパーティ サービスからのリンク プレビューを設定する場合は、 https://www.googleapis.com/auth/workspace.linkpreview スコープ承認フロー linkPreviewTriggers 使用します。詳細については、次をご覧ください: プレビュー インターフェースをリンクする
  6. ユーザーのリクエストへの応答に必要な、関連するコールバック関数を実装します。 UI 操作(ボタンのクリックなど)。

エディタのホームページ

アドオンのスクリプト プロジェクトでホームページ トリガー関数を指定する必要があります 単一の Card をビルドして返します。 またはアドオンのホームページを構成する Card オブジェクトの配列です。

ホームページ トリガー関数には、イベント オブジェクトが渡されます。 クライアントのプラットフォームなどの情報を含むパラメータとして渡す必要があります。Google Chat では イベント オブジェクト データを使用してホームページの構成を調整する。

共通のホームページ、またはエディタに固有のホームページを表示できます ユーザーが開いたときに

共通のホームページを表示する

エディタにアドオンの一般的なホームページを表示するには、 エディタ フィールド(addOns.docs など) addOns.sheets、 または addOns.slides、 を使用します。

次の例は、Google Workspace アドオンの addons 部分を示しています。 使用します。このアドオンは Google ドキュメント、スプレッドシート、スライドを拡張し、 ホームページに表示できます

 "addOns": {
    "common": {
      "name": "Translate",
      "logoUrl": "https://www.gstatic.com/images/branding/product/1x/translate_24dp.png",
      "layoutProperties": {
        "primaryColor": "#2772ed"
      },
      "homepageTrigger": {
        "runFunction": "onHomepage"
      }
    },
    "docs": {},
    "sheets": {},
    "slides": {}
  }
}

エディタ固有のホームページを表示する

編集者専用のホームページを表示するには、アドオンに EDITOR_NAME.homepageTrigger を追加します 使用します。

次の例は、Google Workspace アドオン マニフェストの addons 部分を示しています。 このアドオンはドキュメント、スプレッドシート、スライドで有効になっています。ここには、 独自のホームページを作成できます。コールバック 関数 onSheetsHomepage は、スプレッドシート固有のホームページ カードを作成します。

 "addOns": {
    "common": {
      "name": "Translate",
      "logoUrl": "https://www.gstatic.com/images/branding/product/1x/translate_24dp.png",
      "layoutProperties": {
        "primaryColor": "#2772ed"
      },
      "homepageTrigger": {
        "runFunction": "onHomepage"
      }
    },
    "docs": {},
    "slides": {},
    "sheets": {
     "homepageTrigger": {
       "runFunction": "onSheetsHomepage"
     },
  }
}

REST API インターフェース

アドオンで REST API(Google Sheets API など)を使用する場合は、 onFileScopeGrantedTrigger 関数を使用して、新しいインターフェースを 固有のファイルが表示されます。

使用するには、drive.file スコープ承認フローをインクルードする必要があります。 onFileScopeGrantedTrigger 関数を使用します。drive.file をリクエストする方法については、 現在のドキュメントのファイル アクセス権をリクエストするをご覧ください。

ユーザーが drive.file スコープを付与すると、 EDITOR_NAME.onFileScopeGrantedTrigger.runFunction 防ぎます。トリガーが発生すると、コンテキストに応じたトリガー関数が実行されます。 EDITOR_NAME.onFileScopeGrantedTrigger.runFunction フィールドで指定された 作成します。

エディタの REST API インターフェースを作成する手順は次のとおりです。 EDITOR_NAME は、選択したエディタのホストアプリに置き換えます。 (例: sheets.onFileScopeGrantedTrigger)。

  1. EDITOR_NAME.onFileScopeGrantedTrigger を含めます。 マニフェストの該当するエディタのセクションにあります。たとえば Google スプレッドシートでこのインターフェースを作成する場合は、トリガーを "sheets" セクション。
  2. EDITOR_NAME.onFileScopeGrantedTrigger という名前の関数を実装します。 。この関数は引数としてイベント オブジェクトを受け取り、 Card または Card オブジェクトの配列になります。
  3. 他のカードと同様に、コンテンツ キャプチャに使用するコールバック関数を インターフェースのウィジェットのインタラクティビティを提供します。たとえば、広告呼び出しにボタンを配置し、 Action がアタッチされ、ボタンが押されたときに実行されるコールバック関数が実装されます。 表示されます。

次の例は、Google Workspace アドオン マニフェストの addons 部分を示しています。 このアドオンは REST API を使用するため、onFileScopeGrantedTrigger が含まれています。 Google スプレッドシート。ユーザーが drive.file スコープを付与すると、コールバック関数が onFileScopeGrantedSheets は、ファイル固有のインターフェースを構築します。

"addOns": {
   "common": {
     "name": "Productivity add-on",
     "logoUrl": "https://www.gstatic.com/images/icons/material/system_gm/1x/work_outline_black_18dp.png",
     "layoutProperties": {
       "primaryColor": "#669df6",
       "secondaryColor": "#ee675c"
     }
   },
   "sheets": {
     "homepageTrigger": {
       "runFunction": "onEditorsHomepage"
     },
     "onFileScopeGrantedTrigger": {
       "runFunction": "onFileScopeGrantedSheets"
     }
   }

サードパーティ サービスのリンク プレビューを有効にするには、リンクを設定する必要があります プレビューする関数を作成し、プレビューを返す関数を作成します。 。ユーザー承認が必要なサービスの場合、関数から 確認します。

リンク プレビューを有効にする手順については、以下をご覧ください。 スマートチップを使用してリンクをプレビューする

イベント オブジェクト

イベント オブジェクトが作成され、 EDITOR_NAME.homepageTrigger または EDITOR_NAME.onFileScopeGrantedTrigger。トリガー関数は、トリガーの イベント オブジェクトを使用して、アドオンカードの作成方法や 動作しません。

イベント オブジェクトの詳細な構造については、イベント オブジェクトをご覧ください。

エディタがアドオンの代理ホストアプリである場合、イベント オブジェクトには次のものが含まれます。 ドキュメントスプレッドシートスライド イベント オブジェクト フィールドです。

アドオンに現在のユーザーに対する drive.file スコープの承認がない場合 場合、イベント オブジェクトには、 docs.addonHasFileScopePermissionsheets.addonHasFileScopePermission、または slides.addonHasFileScopePermission フィールド。アドオンに 承認されるため、このイベント オブジェクトにはすべての Editor イベント オブジェクト フィールドが含まれます。

次の例は、オブジェクトに渡される Editor イベント オブジェクトを示しています。 sheets.onFileScopeGrantedTrigger 関数を使用します。ここでは、アドオンに 現在のドキュメントの drive.file スコープ承認:

`        {
          "commonEventObject": { ... },
          "sheets": {
            "addonHasFileScopePermission": true,
            "id":"A_24Q3CDA23112312ED52",
            "title":"How to get started with Sheets"
          },
          ...
        }