我有一个 Google 应用程序脚本,用于检查电子表格编辑者在单元格中输入的电子邮件。如果它不是 Gmail ID,它将删除单元格内容并打开一个 UI 警报框,其中显示消息“请输入有效的 Gmail ID”。该脚本在编辑时触发。该脚本正常工作了好几个月,但现在它行为异常(警报框没有出现,但内容或单元格正在被清除。)并且我收到错误通知
You do not have permission to call alert (line 674, file "Code").
用“UI 提示”替换“UI 警报”也没有帮助。
但是,当我(电子表格的所有者)编辑电子表格时,脚本运行正常,而其他编辑者则运行失败。我所有其他带有 UI 警报框的类似脚本均行为不当,并且会通知相同的错误。
下面是我的脚本:
function CheckGmail()
{
var ss = SpreadsheetApp.getActiveSpreadsheet()
var cell = ss.getActiveCell();
var email = cell.getValue()
var domain = email.toString().split("@")
if(domain[1] != "gmail.com")
{
cell.clearContent()
SpreadsheetApp.getUi().alert("Please Enter a Valid Gmail ID")
}
}
有人遇到这个问题吗?寻找解决方案。
最佳答案
Google 于 11 月 2 日通过安全补丁引入了一个错误,导致这些权限错误。查看问题跟踪器:
关于google-apps-script - SpreadsheetApp.getUi() 故障,警告框、提示框不出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47133306/