为何Apps Script中获取的URL与Web App当前活跃部署的URL不一致?
Web App两个URL不一致的原因
你遇到的两个URL不匹配是Google Apps Script Web App的部署规则导致的,两者对应完全不同的部署类型:
ScriptApp.getService().getUrl()返回的URL
这个方法默认返回脚本的开发测试部署地址,一般以/dev作为后缀,仅对脚本编辑者或提前配置的测试人员开放。访问该地址时会直接运行你最新保存的代码,不需要重新发布部署,代码修改后实时生效。
如果你创建过多个独立部署,该方法默认返回最近创建的部署地址,不会主动匹配你标记为「活跃」的正式部署。- 管理部署里的活跃部署URL
这个是你发布的版本化正式部署地址,一般以/exec作为后缀,访问权限遵循你部署时的配置,对应代码是你创建部署时选定的固定版本,只有发布新版本重新部署时,对应执行的代码才会更新,该URL本身永久固定不会改变。
如果需要两个URL保持一致,在创建正式部署时将其设置为脚本的默认部署即可,后续调用ScriptApp.getService().getUrl()就会返回该正式部署的地址。
内容的提问来源于stack exchange,提问作者mhndlsz
相关产品推荐
相关产品推荐

