部署 sheet 附加组件时使用 UrlFetchApp 错误的所有 Google Workspace 附加组件都需要明确的 urlFetchWhitelist
An explicit urlFetchWhitelist is required for all Google Workspace add-ons using UrlFetchApp error while deploying sheet add on
我正在尝试部署 google sheet 附加组件(私有附加组件。)
我正在使用 moment js 计算 code.js 文件
中的日期
我的清单看起来像这样
清单:
当我部署插件时出现错误
“使用 UrlFetchApp 的所有 Google Workspace 插件都需要明确的 urlFetchWhitelist”
我浏览了 Whosebug 上的帖子,并做了三处推荐的更改
- 将“https://www.googleapis.com/auth/script.external_request”添加到我的 oauthScopes [没有用]
- 安装了触发器并调用了获取外部请求的权限,但没有成功。
- 最后我尝试添加一个方法来根据 this link
在打开时调用触发器
当我点击 deploy add on
时,我仍然遇到同样的错误
urlFetchWhitelist 错误:
答案:
您需要向您的清单添加一个 urlFetchWhitelist
参数,并将您希望获取的所有网址作为其值包含在一个数组中。
示例:
假设你有这条线:
const res = UrlFetchApp.fetch("https://google.com")
在您的代码中。
您需要将其添加到 appsscript.json
清单文件的白名单中:
urlFetchWhitelist: ["https://google.com/"]
注意事项(来自文档):
- 每个前缀都必须是有效的 URL。
- 每个前缀必须使用
https://
,而不是http://
。
- 每个前缀必须有一个完整的域。
- 每个前缀必须有一个非空路径。例如,
https://www.google.com/
有效,但 https://www.google.com
无效。
- 您可以使用 wildcards 来匹配 URL 个子域前缀。
- 可以在
addOns.common.openLinkUrlPrefixes
field to match all links, but this is not recommended as it can expose a user's data to risk and can prolong the add-on review process 中使用单个 * 通配符。仅在您的附加功能需要时才使用通配符。
2022-01-13 更新:
根据 this Issue Tracker report 上的信息,只有 domain/sub-domain 需要列入白名单才能获取。
例如白名单:
"urlFetchWhitelist": ["https://myapp.com/"]
将允许 UrlFetchApp
连接到该域上的路径:
UrlFetchApp.fetch("https://myapp.com/getUser")
参考文献:
我正在尝试部署 google sheet 附加组件(私有附加组件。) 我正在使用 moment js 计算 code.js 文件
中的日期我的清单看起来像这样
清单:
当我部署插件时出现错误
“使用 UrlFetchApp 的所有 Google Workspace 插件都需要明确的 urlFetchWhitelist”
我浏览了 Whosebug 上的帖子,并做了三处推荐的更改
- 将“https://www.googleapis.com/auth/script.external_request”添加到我的 oauthScopes [没有用]
- 安装了触发器并调用了获取外部请求的权限,但没有成功。
- 最后我尝试添加一个方法来根据 this link 在打开时调用触发器
当我点击 deploy add on
时,我仍然遇到同样的错误urlFetchWhitelist 错误:
答案:
您需要向您的清单添加一个 urlFetchWhitelist
参数,并将您希望获取的所有网址作为其值包含在一个数组中。
示例:
假设你有这条线:
const res = UrlFetchApp.fetch("https://google.com")
在您的代码中。
您需要将其添加到 appsscript.json
清单文件的白名单中:
urlFetchWhitelist: ["https://google.com/"]
注意事项(来自文档):
- 每个前缀都必须是有效的 URL。
- 每个前缀必须使用
https://
,而不是http://
。 - 每个前缀必须有一个完整的域。
- 每个前缀必须有一个非空路径。例如,
https://www.google.com/
有效,但https://www.google.com
无效。 - 您可以使用 wildcards 来匹配 URL 个子域前缀。
- 可以在
addOns.common.openLinkUrlPrefixes
field to match all links, but this is not recommended as it can expose a user's data to risk and can prolong the add-on review process 中使用单个 * 通配符。仅在您的附加功能需要时才使用通配符。
2022-01-13 更新:
根据 this Issue Tracker report 上的信息,只有 domain/sub-domain 需要列入白名单才能获取。
例如白名单:
"urlFetchWhitelist": ["https://myapp.com/"]
将允许 UrlFetchApp
连接到该域上的路径:
UrlFetchApp.fetch("https://myapp.com/getUser")