使用谷歌应用脚​​本提交对谷歌表单的回复

时间:2014-12-13 06:51:16

标签: javascript arrays google-apps-script

我正在尝试生成一个打开谷歌表单并填写它的脚本。

我已经阅读了文档并执行以下操作: 使用它的ID选择一个表单,在“item”数组中获取问题列表,获取问题类型及其ID,按ID获取项目,按各种类型返回并执行各种“选择”元素在形式。

我无法1.在表单中设置对特定项目的回复,或者2.提交带有回复的表单。无论我做什么,formReponse对象仍然是空的。

formResponse,尽管是一个类,没有for循环,因为未定义,除非我在那里有代码。

function myFunction() {
   var form = FormApp.openById('1h_8Gz5GKwLqUdw249rpMWu6-AlrDJgUig-rdMCC7TWU');
   //form.addTextItem();
   var items =  form.getItems();
   Logger.log(items);
  // Access the text item as a generic item.
  var item1 = items[0];
  Logger.log(item1);
  var item1type = item1.getType();
  Logger.log(item1type);
  var item1id = item1.getId();
  var getitem1 = item1.asTextItem();
  var getitem1t = form.getItemById(item1id);
  var response = "tewtw";
  getitem1t.createResponse(response);

  var formResponses = form.getResponses();

  for (var i = 0; i < formResponses.length; i++) {
   var formResponse = formResponses[i];
   var itemResponses = formResponse.getItemResponses();
   for (var j = 0; j < itemResponses.length; j++) {
    var itemResponse = itemResponses[j];
    Logger.log('Response #%s to the question "%s" was "%s"',
         (i + 1).toString(),
        itemResponse.getItem().getTitle(),
        itemResponse.getResponse()); 
 }

formResponse.submit();
}

谢谢!

1 个答案:

答案 0 :(得分:-1)

你可以&#34;模拟&#34;&#34;使用与调用onFormSubmit触发函数的Mogsdad shows here类似的代码来形成答案。这个&#34;模拟&#34;函数应该在同一个脚本项目中才能调用提交函数。