【发布时间】:2021-12-07 00:35:12
【问题描述】:
我正在尝试创建一个 Google 表格插件,它使用 API 连接到客户自己的财务系统,该系统部署在他们自己的网站上。该站点的 url 是可配置的,因此我们只需要部署一个版本的插件,我们所有的客户都可以为他们自己的系统配置它。
//getServiceURL() returns the configured URL for the clients system, so https://clientsite/financeapi/
restRequest = UrlFetchApp.fetch(getServiceURL(), params);
我遇到的问题是,我似乎需要在 appsscript.json 文件的“urlFetchWhitelist”中明确引用 url。否则我会得到错误:-
Exception: Request to https://clientsite/financeapi/blahhh/blahhh failed because the URL has not been whitelisted in the script manifest. (line 510, file "Service")
所以我需要将它添加到 appsscript.json 文件中。
"urlFetchWhitelist": ["https://clientsite/financeapi/"]
有什么办法可以解决这个问题,因为我在设计时不知道这些 URL,因为这些 URL 可以由客户端配置,因此不需要显式定义?
如果没有,我想我们可以询问每个客户我们需要联系哪些 URL,并将这些 URL 添加到白名单中。在这种情况下,白名单 URL 的数量是否有限制,因为我们将有数百个。如果我们定义这些客户端 URL,最终用户是否可以看到此列表,因为出于安全原因,我们无法让所有用户都看到这些列表。
【问题讨论】:
标签: google-apps-script google-sheets whitelist