google-apps-script - SpreadsheetApp.getUi() 故障,警告框、提示框不出现

标签 google-apps-script google-sheets

我有一个 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 日通过安全补丁引入了一个错误,导致这些权限错误。查看问题跟踪器:

https://issuetracker.google.com/issues/68846962

关于google-apps-script - SpreadsheetApp.getUi() 故障,警告框、提示框不出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47133306/

相关文章:

javascript - 如何使用javascript从谷歌电子表格中一列的所有值中获取排序的唯一值

javascript - ImportXML 的 JavaScript 等价物是什么?

javascript - 如何在 GAS 功能真正结束后运行功能?

google-sheets - 谷歌电子表格: Script to pick the right values from data which is html-imported and never in the right order

android - 如何从 Android Google Drive App 运行 google 电子表格中的脚本?

javascript - Google Scripts 从单元格中填充值数组及其位置

google-sheets - 如何检查一系列时间戳是否在某个时间范围内(谷歌表格)

arrays - 在 Google 表格中将两列表转换为一张列表

google-sheets - Google 电子表格导入范围#REF!错误(随机)

email - 在 Google Apps 脚本中访问已发送的电子邮件