【问题标题】:Prompt not working in google apps script提示在谷歌应用程序脚本中不起作用
【发布时间】:2016-04-19 17:36:01
【问题描述】:

我正在创建一个谷歌脚本,旨在问我一个问题,获取日期,并将其全部放入一个新文档中。它通过提示获取信息。当我单击run 时,它显示“ReferenceError:未定义“提示”。 (第 16 行,文件“代码”)'。我的代码如下:

function myFunction() {
 var today = new Date();
 var dd = today.getDate();
 var mm = today.getMonth()+1; //January is 0!
 var yyyy = today.getFullYear();

 if(dd<10) {
    dd='0'+dd
} 

 if(mm<10) {
    mm='0'+mm
} 

 today = mm+'/'+dd+'/'+yyyy;
 var prompted = prompt('How was recycling today?');

 DriveApp.createFile('Recycle log for ' + today, prompted, 'GOOGLE_DOCS');
 logger.log('On ' + today + ', recycling statistics were:' + prompted);
}

我该如何解决这个问题?如果我不能,我怎么能做同样的事情?

【问题讨论】:

  • "prompt" 在 Google Apps 脚本中不存在,"logger" 也不存在,请阅读参考文档和/或在 GS 中编写脚本时使用自动完成功能 (CTRL + SPACE)。
  • 我修复了 logger 并将其替换为 Logger,它确实存在。

标签: javascript debugging google-apps-script prompt


【解决方案1】:

Google 应用程序脚本基于 JavaScript,用于自动化 google 应用程序以及创建附加组件或构建 Web 应用程序,但 google 应用程序脚本在服务器而不是客户端的浏览器上运行,因此它不支持像 @ 这样的原生 JavaScript 函数987654328@、prompt

但是,谷歌应用脚​​本提供了HTML Service,您可以使用它来为您的输入创建用户界面。

此外,如果您的脚本是Document bound script,您可以使用getUi 之类的方法,它会返回UI Class,通过它您可以显示弹出窗口和对话框,如警报和提示,甚至可以设计自己的dialogsidebar.

例如:

DocumentApp.getUi().alert("Hello world.");

var ui = SpreadsheetApp.getUi();
var response = ui.prompt('May I know your name?', ui.ButtonSet.YES_NO);

按照文档中的examples

【讨论】:

  • 好吧,如果一个文档没有打开,比如我只是点击“运行”,这会起作用吗?
  • 如果您有一个文档绑定脚本并且您正在使用 'getUi' 方法并直接从编辑器运行,将导致弹出/对话框出现在您的文档页面上而不是在编辑器上。如果您正在使用 google app 脚本编写网络应用程序,那么您将使用 HTML 服务,该服务将向您的客户端返回 Html 响应。
  • document bound script 是什么意思?
  • 等一下,我阅读了您答案中的链接,我会尝试使用文档绑定脚本来执行此操作..
  • 请注意,“alert”等不是原生javascript函数。它们是浏览器 DOM(窗口)api 的一部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多