google-apps-script - 调试由发布请求触发的 Google Apps 脚本?

我在 Google 表格中有一个简单的脚本,它由 Slack 中的命令触发,只是将 Slack 消息添加为新行。这是一个非常简单的功能,部署为 Web 应用程序并且可以正常工作:

function doPost(req) {
var sheet = SpreadsheetApp.openById('[My Sheet Id]');
var params = req.parameters;

Logger.log(params.text);

sheet.appendRow(params.text);

return ContentService.createTextOutput("Saved your entry:" + params.text);
}

但是 Logger.log 函数从不在调试日志中记录任何内容。我希望它在这里:

奇怪的是,执行列表也是空的:

但脚本正在被触发并将文本消息附加到 Google 表格。

所以我想的问题归结为当发布请求触发时我如何准确地从脚本(部署为网络应用程序)登录以及如何查看它的执行?换句话说,您如何调试此类脚本?

最佳答案

当远程调用 doPost(e) 时,它会创建一个服务器端 session ,您无法通过 Logger.log() 访问其日志。

但是,还有另一种选择,即。 StackDriver Logging (可通过 View -> StackDriver Logging 从 Apps 脚本编辑器菜单访问)。

启用 StackDriver Logging 后,您需要将所有 Logger.log() 调用替换为 console.log()

https://stackoverflow.com/questions/54772207/

相关文章:

reactjs - 为什么我的 GlobalStyles 在使用样式化组件部署后不起作用?

sql-server - TRY_PARSE 但更快

kubernetes - 定时任务 : unknown field "configMapRef"

oracle - 使用sqlplus命令行隐藏明文密码

python-3.x - 如何从 faust 应用程序向 Websocket 发送数据

haskell - OverloadedStrings 语言扩展如何工作?

angular - 以 Angular 删除项目后无法刷新表

r - 计算 R 中非零值之间出现零的次数

c# - 调用多个相互依赖的异步方法

react-native - undefined 不是一个对象(评估'_reactNative.Te