【问题标题】:Logs are not shown when the webapp is triggered by doGet当 webapp 被 doGet 触发时,不显示日志
【发布时间】:2020-03-03 15:21:30
【问题描述】:

我目前正在尝试用 HTML 编写一个表单,将其输入传递给电子表格。我按照以下视频所示进行操作:https://www.youtube.com/watch?v=RRQvySxaCW0&list=PLv9Pf9aNgemt82hBENyneRyHnD-zORB3l。 问题是单击按钮时 addInfo() 函数中的 Logger 不起作用(单击按钮时日志中没有“嘿”)。

我的 Code.gs(Google Apps 脚本)文件:

function doGet(){
  return HtmlService.createHtmlOutputFromFile("index");

}

function addInfo(){
  Logger.log("Hey");
}

我的 index.html 文件:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <button id="btn">Klick mich</button>

    <script>

    document.getElementById("btn").addEventListener("click",doStuff);

    function doStuff(){
      google.script.run.addInfo();
    }

    </script>
  </body>
</html>

有谁知道它为什么不能这样工作? 感谢您的帮助。

最好的问候, 最大

【问题讨论】:

  • 改用console.log()
  • 你在哪里查看日志?向doStuff() 添加警报或其他内容,以查看它是否至少在客户端执行。浏览器控制台日志是否显示任何内容?
  • @IMTheNachoMan 我通过谷歌应用脚​​本 ide 检查日志。在上方菜单中,我单击“查看”,然后单击“日志”(如屏幕截图 6 所示:filebin.net/2d36ede1h919rxc9)。但它每次都说“在这个编辑器会话中没有运行任何函数。”......我真的不知道如何向函数添加警报以检查它是否正在运行。
  • 从 IDE 中看不到 doGet 和其他触发器的日志。转到脚本仪表板并从那里查看执行日志。

标签: forms logging google-apps-script google-sheets web-applications


【解决方案1】:

问题

Apps Script IDE Logger 中无法看到 doGet() 等触发器的日志。

解决方案

按照以下步骤实现您的目标:

  1. console.log代替Logger.log
  2. 在您的脚本编辑器中,转到 Resources -> Cloud Platform Project
  3. 选择要关联脚本的项目。为此,您需要事先在 Google Cloud Platform 中创建一个项目并使用其项目编号。
  4. 将脚本与项目链接后,转到查看 -> Stackdrive 日志记录,您将能够看到脚本的控制台日志,包括触发函数中的日志。

有关此过程的更多信息,check this post 他们更广泛地解释了 Stackdrive Logger for Apps 脚本的使用。

我希望这对您有所帮助。让我知道您是否需要其他任何内容,或者您​​是否不理解某些内容。 :)

【讨论】:

    【解决方案2】:

    我以这样的对话框运行它:

    【讨论】:

    • 不相关,但您是如何创建此 GIF 的?我从来没有能够制作出一个既能保持这种质量/分辨率又能保持这么小的尺寸的产品。
    猜你喜欢
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    • 2020-02-17
    • 1970-01-01
    • 2017-12-06
    • 2011-10-01
    • 2022-08-09
    • 2019-03-25
    相关资源
    最近更新 更多