特定用户未能以基于HTML的形式运行使用google.script.run.function()的脚本



我创建了一个输入表单,它运行在html模式中,通过Google App Script在Google工作表中打开,该工作表从Google工作表中获取值,用户可以在表单中编辑或操作,然后在"提交"时将更改写回Google工作表。

我得到一个问题,其中两个特定的用户似乎不能使用任何函数,利用google.script.run.function()调用代码中的任何函数的方式。我正在使用它从工作表中读取单元格,以及从表单中写入值到工作表。

试图缩小错误是否在代码中的函数中。在html中,我把代码简化成这样:

TestWindow.html

<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<script>
function testHtml(){
google.script.run.withSuccessHandler(function (){
window.alert("Sucess!");
})
.withFailureHandler(function (){
window.alert("Failed!");
}).testFunction();
}
</script>
<input type="button" id="submit" name="submit" value="Test Button" onclick="testHtml()">
</body>
</html>

Code.gs

function testFunction(){
Logger.log("This is a test");
}
function openTest(){
var ui = SpreadsheetApp.getUi();
var html = HtmlService.createHtmlOutputFromFile('TestWindow')
.setWidth(600)
.setHeight(800);
ui.showModalDialog(html, 'Test Window:');
}

我的大多数用户在单击测试按钮时获得成功处理程序响应,但我有2个用户获得失败处理程序,并且在Apps脚本编辑器中的执行日志中有0秒持续时间执行';testFunction() ';其中执行是不可扩展的,没有列出错误,只是简单的"失败";在状态

我已经检查了他们的Google Chrome版本,并让他们更新到最新版本,但仍然得到上述错误。

我检查了他们给的权限,他们有其他用户同意的所有相同的权限,仍然得到上面的错误。

我的公司有一些用户使用vpn访问某些东西,我连接到同一个vpn,我的计算机上没有收到失败处理程序。

所有用户都作为同一Google工作区组织内的用户登录,并且我使用我的个人帐户而不是拥有它的组织内的公司帐户进行测试,并且我的个人帐户使用成功处理程序进行响应。

是否有可能的Chrome设置可以阻止他们使用google.script.run?或者可能是我没有看到的用户设置不同?是否有一种可能性,即google.script.run的异步性质与他们可能慢得多的计算机不匹配?(我尝试在代码中添加延迟以适应一些延迟时间,但没有成功,加上执行日志中的0秒持续时间使我相信这不是问题)。大多数用户都是远程工作者,他们都在不同的网络上工作。其中一个用户住得离我很近,所以我开车去他们家看看,当他们在我的电脑上而不是他们的电脑上访问表单时,是否仍然得到失败处理程序。

我通过让2个用户通过导航重置他们的Chrome设置来解决这个问题:

  1. 右上角三个圆点
  2. 置>
  3. "重置和清理";左侧
  4. "恢复设置为原始默认值">

我仍然不知道是什么导致了这个问题。如果它是他们安装的扩展,或者是Chrome中的某个设置,但无论哪种方式,它都是通过重新设置设置来解决的。

最新更新