許可リストを使用して、スクリプトやアドオンによるアクセスが事前に承認されている特定の 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フィールドで使用してすべてのリンクを照合できますが、ユーザーのデータがリスクにさらされる可能性があり、アドオンの審査プロセスが長引く可能性があるため、おすすめしません。ワイルドカードは、アドオンの機能に必要な場合にのみ使用してください。
URL が許可リスト内の接頭辞と一致するかどうかを判断する際は、次のルールが適用されます。
- パスの一致では大文字と小文字が区別されます。
- 接頭辞が URL と同じ場合は一致します。
- URL が接頭辞と同じか、接頭辞の子である場合は一致します。
たとえば、接頭辞 https://example.com/foo は次の URL と一致します。
https://example.com/foohttps://example.com/foo/https://example.com/foo/barhttps://example.com/foo?barhttps://example.com/foo#bar
ワイルドカードを使用する
単一のワイルドカード文字(*)を使用して、
urlFetchWhitelist
フィールドとaddOns.common.openLinkUrlPrefixes
フィールドの両方のサブドメインを照合できます。複数のサブドメインを照合するために複数のワイルドカードを使用することはできません。ワイルドカードは URL の先頭の接頭辞を表す必要があります。
たとえば、接頭辞 https://*.example.com/foo は次の URL と一致します。
https://subdomain.example.com/foohttps://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(ワイルドカードは先頭の接頭辞として使用する必要があります)