許可リストの URL

許可リストを使用して、スクリプトまたはアドオンによるアクセスが事前に承認されている特定の URL を指定します。許可リストはユーザーデータの保護に役立ちます。許可リストを定義すると、スクリプト プロジェクトは許可リストに登録されていない URL にアクセスできません。

テストデプロイをインストールする場合、このフィールドは省略できますが、バージョニングされたデプロイを作成する場合は必須です。

許可リストは、スクリプトまたはアドオンが次のアクションを実行する場合に使用します。

  • Apps Script の UrlFetch サービスを使用して、外部の場所(HTTPS エンドポイントなど)から情報を取得または取得します。取得対象の URL を許可リストに登録するには、マニフェスト ファイルに urlFetchWhitelist フィールドを含めます。
  • ユーザーの操作に応じて URL を開くか表示します(Google の外部にある URL を開くか表示する Google Workspace アドオンに必要です)。URL を開くことを許可リストに登録するには、マニフェスト ファイルに addOns.common.openLinkUrlPrefixes フィールドを含めます。

許可リストにプレフィックスを追加する

マニフェスト ファイルで許可リストを指定する(addOns.common.openLinkUrlPrefixes フィールドまたは urlFetchWhitelist フィールドを含める)場合は、URL 接頭辞のリストを含める必要があります。マニフェストに追加する接頭辞は、次の要件を満たす必要があります。

  • 各接頭辞には有効な URL を指定する必要があります。
  • 各プレフィックスでは http:// ではなく https:// を使用する必要があります。
  • 各プレフィックスには完全なドメインが必要です。
  • 各接頭辞には空でないパスが必要です。たとえば、https://www.google.com/ は有効ですが、https://www.google.com は無効です。
  • ワイルドカードを使用して、URL サブドメインの接頭辞と照合できます。
  • すべてのリンクと一致するように addOns.common.openLinkUrlPrefixes フィールドで * ワイルドカードを 1 つ使用できますが、この方法はユーザーのデータをリスクにさらす可能性があり、アドオンの審査プロセスが長引く可能性があるためおすすめしません。ワイルドカードは、アドオン機能で必要な場合にのみ使用します。

URL が許可リストに登録されたプレフィックスと一致するかどうかを判断するには、次のルールが適用されます。

  • パス マッチングでは大文字と小文字が区別されます。
  • プレフィックスが URL と同一の場合は、一致とみなされます。
  • URL が接頭辞と同じ、または子である場合は一致とみなされます。

たとえば、接頭辞 https://example.com/foo は次の URL と一致します。

  • https://example.com/foo
  • https://example.com/foo/
  • https://example.com/foo/bar
  • https://example.com/foo?bar
  • https://example.com/foo#bar

ワイルドカードの使用

1 つのワイルドカード文字(*)を使用して、urlFetchWhitelist フィールドと addOns.common.openLinkUrlPrefixes フィールドの両方のサブドメインに一致させることができます。複数のワイルドカードを使用して複数のサブドメインに一致させることはできません。ワイルドカードは、URL の先頭のプレフィックスを表す必要があります。

たとえば、接頭辞 https://*.example.com/foo は次の URL と一致します。

  • https://subdomain.example.com/foo
  • https://any.number.of.subdomains.example.com/foo

接頭辞 https://*.example.com/foo は次の URL とは一致しません

  • https://subdomain.example.com/bar(接尾辞の不一致)
  • https://example.com/foo(サブドメインが 1 つ以上必要です)

マニフェストを保存しようとすると、一部の接頭辞ルールが適用されます。たとえば、次の接頭辞は、保存しようとしたときにマニフェストに存在するとエラーが発生します。

  • https://*.*.example.com/foo(複数のワイルドカードは禁止されています)
  • https://subdomain.*.example.com/foo(先頭の接頭辞としてワイルドカードを使用する必要があります)