如何在 AppS 脚本中从 html 返回到服务器端代码获取数据

How to get data from html from back to serverside code in AppScript

我已经搜索了几个小时,但找不到解决方案。我有一些 appscript 代码可以创建菜单并在 google 文档中打开模式:

function showDialog() {
  let ui = DocumentApp.getUi();
  let html = HtmlService.createHtmlOutputFromFile("dialog");
  ui.showModalDialog(html, "dtest");
}

function processForm() {
  console.log("test123123123");
}

有效,模式打开。

我想在模式中提交表单。现在我只是在将 console.logs 提交给云记录器时调用测试函数。

    <script>
  // Prevent form from submitting
  function preventFormSubmit() {
    var forms = document.querySelectorAll("form");
    for (var i = 0; i < forms.length; i++) {
      forms[i].addEventListener("submit", function (event) {
        event.preventDefault();
      });
    }
  }
  window.addEventListener("load", preventFormSubmit);
  google.script.run.processForm();


</script>

这里的问题是函数processForm()没有被触发。

但是当我使用 doGet() 并将其部署为 webapp 时,它可以正常工作。

我怎样才能让它在 google 文档中工作?我已尝试按照文档进行操作..但我无法使其正常工作。

在此先感谢您对此的任何帮助。

所以我发现了问题。我用帐户 A 被烧到 google,正确的帐户。并提示输入,一切正常。在 chrome 中,我使用帐户 B 登录。当您使用 htmlservice 时,它​​似乎使用沙箱,并且它使用您登录 chrome 的用户,而不是您登录工作区的用户和。所以访问被拒绝。在两个地方使用相同的用户来解决这个问题。