谷歌脚本警报难度

时间:2014-04-11 14:26:01

标签: google-apps-script google-sites

我有一个与Google Scripts相关的非常基本的问题。我有一个小脚本,允许用户将文件上传到云端硬盘。这没问题。 但是,我想提出一个警告,说“谢谢你”,这让我很感兴趣。

我现在所拥有的,在脚本的Post函数中是:

function doPost(e) {

    firstName = e.parameter.firstName;
    lastName = e.parameter.lastName;
    name = lastName+"-"+firstName;
    nameLength = name.length;
    if (nameLength ==1) {
        } 
    else {
        fileName = e.parameter.thefile.name;
        var fileBlob = e.parameter.thefile;
        fileNameLength = fileName.length;
        if(fileNameLength !=0) {
            var fileDocName = e.parameter.assignment+"-"+name+"-"+e.parameter.thefile.name;
            var doc = DocsList.createFile(fileBlob); 
            doc.rename(fileDocName);
            // get assignment folder
            var folder = DocsList.getFolder(folderName);
            doc.addToFolder(folder);

            var app = UiApp.getActiveApplication();
            var ui = app.getUi();
            var response = ui.alert('Assignment uploaded');

      }
  }

  return;
}

正如我所说,这似乎工作正常,直到最后一点,当执行脚本说像GetUI没有定义等等,具体取决于我如何编码它。 我对Google脚本很陌生,所以我可能会遗漏一些明显的东西。但是什么?

3 个答案:

答案 0 :(得分:0)

简而言之,UiApp不会给你一些你可以打电话给alert的东西。

我认为UiApp.getActiveApplication适用于您想以某种方式更改用户界面的情况,例如:添加一个按钮。

可以在SpreadsheetApp和DocumentApp上调用警报,但不能从DriveApp调用。

var ui = SpreadsheetApp.getUi();
ui.alert('Hello');

最后,可以使用与任何特定Google应用无关的以下内容,因此可能对您更有用,

Browser.msgBox('Assignment uploaded');

答案 1 :(得分:0)

只需使用UiApp实例添加消息即可。

  ...
  var app = UiApp.getActiveApplication();
  app.add(app.createHTML('Thanks'));// or Label or textBox or any other widget
  return app;
}

答案 2 :(得分:0)

没有用户界面,因此您必须使用HTML页面进行响应...如果您需要alert(),则类似以下内容:

text = "This is the text"
bold_text = "This is the \033[1m text \033[0m"
print(bold_text)