前些时候我问了这个问题:How to check in both server-side and client-side scripts if we are in preview mode or deployed version
因为我希望代码中的预览模式与否都具有不同的逻辑。
答案是“预览模式只是另一个部署,每个部署都有自己的Drive表,在其中存储了一些env变量”。没错,这很成功。
问题:驱动表don't exist anymore。
过去几个月来我一直没有与AppMaker合作,所以也许我错过了新功能:
如何为每个部署设置环境变量? (这样我就可以 产品部署与产品部署前部署之间的差异)
是否可以从代码中获取当前部署名称?
感谢您的回答
答案 0 :(得分:2)
可以使用Google script properties service存储部署的唯一环境变量。
答案 1 :(得分:1)
这是一个未记录的解决方案。这不是最好的方法,也不建议长期使用,因为它将来可能会更改,但是,要直接回答您的问题,您可以通过服务器脚本获取部署名称。将以下内容放在服务器脚本上:
function getDeployment() {
var deploymentName = app.a.a.a[13].name;
return deploymentName;
}
然后在用户界面中插入一个按钮,将以下内容添加到按钮的 onClick 事件处理程序中:
google.script.run.withSuccessHandler(function(result){
console.log(result);
}).getDeployment();
预览应用程序,对其进行测试,您应该得到预览。将应用程序发布到部署并进行测试,您应该获得部署名称。希望对您有所帮助!
答案 2 :(得分:1)
SQL没有任何改变。预览和部署使用单独的数据集。将一个设置记录放入表中并分别评估部署或预览值就足够了。每个新的预览将使用预览数据,每个新的部署将使用生命数据。