您可以使用許可清單來指定允許指令碼或外掛程式預先核准存取的特定網址。許可清單有助於保護使用者資料;定義許可清單後,指令碼專案無法存取未加入許可清單的網址。
當您安裝測試部署時,此為選用欄位,但建立版本化部署時為必填。
當您的指令碼或外掛程式執行下列動作時,請使用許可清單:
- 使用 Apps Script
UrlFetch
服務擷取或擷取外部位置 (例如 HTTPS 端點) 的資訊。如要將網址加入許可清單以用於擷取,請在資訊清單檔案中加入urlFetchWhitelist
欄位。 - 開啟或顯示網址以回應使用者動作 (對於開啟或顯示網址 Google 外部的 Google Workspace 外掛程式需要此外掛程式)。如要將網址加入許可清單以便開啟,請在資訊清單檔案中加入
addOns.common.openLinkUrlPrefixes
欄位。
正在將前置字串加入許可清單
透過加入 addOns.common.openLinkUrlPrefixes
或 urlFetchWhitelist
欄位指定資訊清單檔案中的許可清單時,您必須加入網址前置字串清單。您在資訊清單中新增的前置字串必須符合下列規定:
- 每個前置字串都必須是有效的網址。
- 每個前置字串都必須使用
https://
,而非http://
。 - 每個前置字串都必須有完整的網域。
- 每個前置字串都必須有非空白的路徑。例如,
https://www.google.com/
有效,但https://www.google.com
無效。 - 您可以使用萬用字元來比對網址子網域前置字串。
- 您可以在
addOns.common.openLinkUrlPrefixes
欄位中使用單一*
萬用字元來比對所有連結,但我們不建議這麼做,因為這麼做可能會讓使用者的資料暴露在風險中,並延長附加審查程序。請只在外掛程式功能需要時使用萬用字元。
在判斷網址是否符合許可清單的前置字串時,系統會套用下列規則:
- 路徑比對會區分大小寫。
- 如果前置字元與網址相同,就視為相符。
- 如果網址與前置字元相同或開頭相同,即視為相符。
舉例來說,前置字串 https://example.com/foo
會與下列網址相符:
https://example.com/foo
https://example.com/foo/
https://example.com/foo/bar
https://example.com/foo?bar
https://example.com/foo#bar
使用萬用字元
您可以使用單一萬用字元 (*
) 來比對 urlFetchWhitelist
和 addOns.common.openLinkUrlPrefixes
欄位的子網域。您不能使用多個萬用字元來比對多個子網域,且萬用字元必須代表網址的前置前置字元。
例如,前置字串 https://*.example.com/foo
會與下列網址相符:
https://subdomain.example.com/foo
https://any.number.of.subdomains.example.com/foo
前置字串 https://*.example.com/foo
「不」與下列網址相符:
https://subdomain.example.com/bar
(字尾不符)https://example.com/foo
(至少要有一個子網域)
嘗試儲存資訊清單時,系統會強制執行某些前置字串規則。舉例來說,如果您嘗試儲存的資訊清單中有下列前置字串,則會造成錯誤:
https://*.*.example.com/foo
(禁止使用多個萬用字元)https://subdomain.*.example.com/foo
(萬用字元必須做為前置字元前置字元)