マニフェストの構造

このページでは、Google Apps Script マニフェスト ファイルの JSON データ構造の最上位について説明します。マニフェストでは、Apps Script プロジェクトの関数または目的を定義します。

JSON 表現
{
  "addOns": {
    object (AddOns)
  },
  "chat": {},
  "dependencies": {
    object (Dependencies)
  },
  "exceptionLogging": string,
  "executionApi": {
    object (ExecutionApi)
  },
  "oauthScopes": [
    string
  ],
  "runtimeVersion": string,
  "sheets": {
    object (Sheets)
  },
  "timeZone": string,
  "urlFetchWhitelist": [
    string
  ],
  "webapp": {
    object (Webapp)
  }
}
フィールド
addOns

object (AddOns)

Google Workspace アドオンとしてデプロイされた場合のプロジェクト リソース構成。

chat

object

Google Chat 用アプリとしてデプロイされた場合のプロジェクト構成。

新しい Chat 用アプリの場合は、代わりに addOns.chat フィールドを使用します。chat フィールドを使用する既存の Chat 用アプリを維持する場合は、空のオブジェクトにする必要があります。

Chat 用アプリの詳細を構成するには、Google Chat API を有効にする必要があります。詳細については、Google Chat API を構成するをご覧ください。

Apps Script は、スクリプト レベルで承認を処理します。承認が必要な Chat 用アプリは、ユーザーが承認するまでアクションを実行できません。承認前にメッセージを投稿するには、マニフェストに addToSpaceFallbackMessage オブジェクトを追加します。Chat 用アプリに初期化ロジックが必要な場合は、onMessage アクションでこのロジックを複製する必要がある場合があります。

次の例は、ユーザーが Chat スペースに Chat 用アプリを追加したときに、デフォルトのウェルカム メッセージで応答する Chat 用アプリを示しています。

        "chat": {
          "addToSpaceFallbackMessage": "Thank you for adding me!"
        }
        
dependencies

object (Dependencies)

スクリプト プロジェクトで使用できるように有効になっている 拡張サービスライブラリの構成。

exceptionLogging

string

例外が記録される場所。有効な設定は以下のとおりです。

  • NONE: 例外はログに記録されません。
  • STACKDRIVER: 例外は Stackdriver に記録されます。
executionApi

object (ExecutionApi)

スクリプト プロジェクト API の実行可能構成。これは、プロジェクトが API 実行用にデプロイされている場合にのみ使用されます。

oauthScopes[]

string

スクリプト プロジェクトで使用される認可スコープの定義。

runtimeVersion

string

スクリプトが使用しているランタイム バージョン。省略すると、スクリプトはデフォルトのランタイム(STABLE)を使用します。有効なオプションは次のとおりです。

  • STABLE: デフォルトのランタイム(現在は Rhino)。
  • V8: V8 を搭載したランタイム。
  • DEPRECATED_ES5: Rhino ランタイム。この値を指定すると、V8 への自動移行が防止されます。
sheets

object (Sheets)

スプレッドシート マクロを定義するリソース構成。

timeZone

string

スクリプトのタイムゾーン(「America/Denver」などの ZoneId 値)。

urlFetchWhitelist[]

string

HTTPS URL 接頭辞のリスト。存在する場合、取得された URL エンドポイントは、このリストのいずれかの接頭辞に一致する必要があります。これにより、ユーザーデータを保護できます。このフィールドは、テスト デプロイでは省略可能ですが、デプロイでは必須です。詳しくは、URL を許可リストに登録するをご覧ください。

webapp

object (Webapp)

プロジェクトがウェブアプリとしてデプロイされる場合に使用される、スクリプト プロジェクトのウェブアプリ構成。