Google Apps脚本:检索网格项目响应返回未定义

时间:2017-09-23 13:49:14

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

无论我做什么,都会返回" Logger.log(medItemResponse);"的未定义对象。

function updateMedicationNumbers() {
  var lastFormResponse = getLastForm();
  getMedItemResponse(lastFormResponse);
}

function getLastForm(){
  var form = FormApp.getActiveForm();
  var formResponseArray = form.getResponses();
  var lastFormResponse = formResponseArray[formResponseArray.length-1];
  Logger.log(lastFormResponse);
  return lastFormResponse;

}

function getMedItemResponse(lastFormResponse){
  var responseItems = lastFormResponse.getItemResponses();
  Logger.log(responseItems);
  for (var i = 0; i < responseItems.length; i++){
      var responseItem = responseItems[i].getItem();
      if(responseItem.getTitle() == "Individual Meds"){
        var medItemResponse = responseItems[i].getResponse();
      }
    }
  Logger.log(medItemResponse);
  }

这里是.getResponse();

的文档

获取受访者提交的答案。对于大多数类型的问题项,这将返回一个String。对于CheckboxItem问题,这将返回一个String []数组,其中包含响应者的选择。数组中字符串的顺序可能会有所不同。对于GridItem问题,这将返回一个String []数组,其中索引n处的答案对应于网格中第n + 1行的问题。如果受访者未在网格中回答问题,则该答案将返回为&#39;&#39;。对于CheckboxGridItem问题,这将返回一个String [] []数组,其中行索引n处的答案对应于复选框网格中第n + 1行的问题。如果受访者未回答网格中的问题,则该答案将返回为&#39;&#39;

返回

Object - 问题项

的答案的String或String []或String [] []

1 个答案:

答案 0 :(得分:0)

我用另一种形式尝试了这个并且似乎有效,但我不确定它是否适合你。

function getMedItemResponse(lastFormResponse){
  var responseItems = lastFormResponse.getItemResponses();
  Logger.log(responseItems);
  for (var i = 0; i < responseItems.length; i++){
      var responseItem = responseItems[i];
      if(responseItem.getItem().getTitle() == "Individual Meds"){
        var medItemResponse = responseItems[i].getResponse();
      }
    }
  Logger.log(medItemResponse);
  }