Google表格:类google.script.run无法正常运行

时间:2019-07-02 02:20:21

标签: html google-apps-script google-sheets editor execute

我的问题很简单。我在网上搜索的所有可能的解决方案都没有解决我的问题。

针对类别google.script.run(https://developers.google.com/apps-script/guides/html/reference/run#withSuccessHandler)的Google开发人员网站展示了方法myFunction(...)(任何服务器端功能)。

我已经复制了它们的确切代码和html代码,并推断出函数doSomething()无法执行。什么都没有记录。

我打算用它来执行HTML文件,以便可以播放声音文件。到目前为止,我可以通过从侧面弹出侧边栏来做到这一点,如该线程中所述:Google Script: Play Sound when a specific cell change the Value

但是,Google提供的此代码无效。为什么?

function doGet() {
  return HtmlService.createHtmlOutputFromFile('Index');
}

function doSomething() {
  Logger.log('I was called!');
}

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script>
      google.script.run.doSomething();
    </script>
  </head>
  <body>
  </body>
</html>

1 个答案:

答案 0 :(得分:0)

通过使用google.script.run,您正在调用服务器端Apps脚本函数。 https://developers.google.com/apps-script/guides/html/reference/run 请仔细检查您是否按照以下步骤正确进行操作:

  1. 请确保将代码的html部分放在一个单独的HTML文件(通过File-> New-> HTML文件创建)中,其名称与您在HtmlService.createHtmlOutputFromFile()中调用的名称相对应-您的情况是Index.html
  2. 选择“ doGet”作为要运行的功能。
  3. 将脚本部署为Web应用程序-这是使用Apps Script HTML服务的要求。请在此处找到说明:https://developers.google.com/apps-script/guides/web
  4. 确保每次在代码中实施更改后,都将脚本部署为新的项目版本。这是更新更改所必需的。
  5. 打开更新版本后获得的当前Web应用程序URL,以打开html输出。
  6. 在您的情况下,将仅打开一个空HTML文件以测试功能-在HTML正文中插入一些文本以测试正确的功能。可以通过在运行代码后查看日志来确认后者。