是否可以检查Google Apps脚本是否以调试模式运行?
例如,我有一个脚本,其使用prompt
,但是在调试模式下,我想为这些提示设置预定义的值。
尝试使用debugMyFunc()调试myfunc();
function debugMyFunc() {
myfunc('debug');
}
function myfunc(mode) {
var mode=mode||'run';
}
问题
[如果您正在寻找调试环境的类似物,那么没有,没有专用的方法-唯一的模式是生产(尽管CardService
和CardService
之类的某些服务确实具有调试方法。
解决方法
与环境最接近的事物是使用UrlFetchApp
来存储,更新和检索脚本/用户属性。您可以持久保存每个用户的设置,或者更接近每个脚本的环境变量的设置,并根据需要使用它们。
因此,要检查是否在调试模式下运行,可以从存储中加载属性(最好在启动时减少属性读/写),检查类似UrlFetchApp
的内容,然后将结果传递给+ change和根据需要坚持。
一个简单的例子:
PropertiesService
然后,在您的主脚本中:
mode
参考
/**
* @returns {object}
*/
function getEnvironment() {
const store = PropertiesService.getScriptProperties();
const env = JSON.parse(store.getProperty("env") || "{}");
env.Modes = Object.freeze({
Debug : 1,
Prod : 2
});
return env;
}
function onOpen() {
let { mode, Modes } = getEnvironment();
if(mode === Modes.Debug) {
//do something in debug
}
mode = Modes.Prod;
//continue in production
}