需要有关不熟悉语法的帮助,错误 - 未定义 - Google Apps脚本(GAS)

时间:2013-09-15 01:20:10

标签: syntax parameters google-apps-script undefined

我使用的脚本与本教程中的脚本完全相同,https://developers.google.com/apps-script/reference/ui/file-upload

然而,尽管使用了语法,我仍然会在语句中定义:

var fileBlob = e.parameter.dsrFile;

我认为这意味着我的函数doPost(e)可能在某种程度上是错误的。以下是我的整个脚本。

// Create Menu to Locate .CSV
function doGet(e) {
  var app = UiApp.createApplication().setTitle("Upload CSV");
  var formContent = app.createVerticalPanel();
  formContent.add(app.createFileUpload().setName("dsrFile"));
  formContent.add(app.createSubmitButton("Start Upload"));
  var form = app.createFormPanel();
  form.add(formContent);
  app.add(form);
  return app;

}

// Upload .CSV file
function doPost(e)
{
   // data returned is a blob for FileUpload widget
   var fileBlob = e.parameter.dsrFile;
   var doc = DocsList.createFile(fileBlob);
 }

2 个答案:

答案 0 :(得分:1)

未定义,因为您没有向doPost传递任何内容。您必须将所需对象传递给doPost。检查您调用函数的位置以及传递给它的参数(如果有)。即使您将参数传递给该函数,它也会保留未定义的值。确保将正确的对象传递给函数。

答案 1 :(得分:0)

你的脚本应该完美无缺。 e由Google Apps脚本定义,不需要传递任何特定内容包含表单的字段,特别是在这种情况下您上传的文件。

我怀疑你可能会对dev url vs publish url syndrome犯规,你正在执行一个旧的脚本而不是你正在处理的代码。

请确保您的脚本以'dev'结尾,而不是'exec'

https://script.google.com/a/macros/appsscripttesting.com/s/AKfyck...EY7qzA7m6hFCnyKqg/dev

如果您在从/ dev url

运行该错误后仍然收到错误,请告诉我