【问题标题】:Google Apps Script: Creating a folder in Google Drive from a Google Form submissionGoogle Apps 脚本:通过 Google 表单提交在 Google Drive 中创建文件夹
【发布时间】:2018-01-17 02:07:41
【问题描述】:

我正在尝试创建一个函数,该函数在提交 Google 表单后,会使用表单的前两个字段在 Google Drive 中创建一个文件夹来命名文件夹。目前正在创建表单没有问题,但在提交时没有创建文件夹。这是我根据一些谷歌搜索提出的功能,它只使用第一个字段来创建文件夹名称:

function createForm() {
 var form = FormApp.create('New Form');

var clientName = form.addTextItem();
 clientName.setTitle('Client Name');
var clientAddress = form.addTextItem();
 clientAddress.setTitle('Address');
var clientPhoneNumber = form.addTextItem();
 clientPhoneNumber.setTitle('Phone Number');

function createFolder(form) {
  var items = form.response.getItemResponses()
  var name = items[0].getResponse();
  DriveApp.createFolder(name);
}


}

任何想法我哪里出错了?

【问题讨论】:

  • 脚本是绑定到 Google 表单还是独立脚本?
  • 据我所知,它是一个独立的脚本。
  • createForm 实际上可能会创建表单,但是填写它并提交表单的内容是什么? createFolder 需要在 onFormSubmit 触发器中。而且我认为您必须将其附加到表单而不是电子表格。
  • 用户填写并提交表单,或者至少这是我想要完成的。表单创建似乎按我的意愿工作,但文件夹创建却没有。我会考虑将 createFolder 移动到触发器中,谢谢!
  • 您是否在 Apps 脚本中开启了 drive app API 并在 API 控制台中开启?如果您将驱动器应用程序调用包装在 try and catch 中,您可以看到任何错误(如果有)。

标签: javascript google-apps-script google-workspace


【解决方案1】:

正如@Cooper 在 cmets 中所建议的那样 - 您的脚本中没有任何内容将 createFolder 函数绑定到表单和表单提交操作。您需要做的是将 createFolder 函数与 createForm 函数分开,并让 createForm 函数将触发器安装到创建的表单,该触发器在提交时触发 createFolder 函数。见下例:

function createForm() {
 var form = FormApp.create('New Form');

var clientName = form.addTextItem();
 clientName.setTitle('Client Name');
var clientAddress = form.addTextItem();
 clientAddress.setTitle('Address');
var clientPhoneNumber = form.addTextItem();
 clientPhoneNumber.setTitle('Phone Number');
ScriptApp.newTrigger('createFolder').forForm(form).onFormSubmit().create();
}

function createFolder(form) {
  var items = form.response.getItemResponses()
  var name = items[0].getResponse();
  DriveApp.createFolder(name);
}

【讨论】:

    猜你喜欢
    • 2013-02-22
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-10
    • 2020-11-26
    • 1970-01-01
    相关资源
    最近更新 更多