【发布时间】:2021-10-12 07:24:08
【问题描述】:
我正在尝试将用户提交的表单中的每个响应存储在 AppScript 中。 我正在使用此代码,但出现错误:
'TypeError: id_form.getResponses is not a function'
我的代码:
//store answers in one file
编辑:
function setDestination_responses(form) {
var id_form = FormApp.openById(form.getId());
var spreadsheet_responses = SpreadsheetApp.openById('1TX4GOsihKuXFhbZMhtFWPYmGwrxii0XhyGhyTKzPKhc');
var sheet_spreadsheet_responses = spreadsheet_responses.getSheets()[0];
var titles = id_form.getItems().map(e => e.getTitle());
var formResponses = id_form.getResponses();
var values = formResponses.map(f => f.getItemResponses().reduce((o, i) => {
var r = i.getResponse();
return Object.assign(o, {[i.getItem().getTitle()]: Array.isArray(r) ? r.join(",") : r});
}, {})).map(o => titles.map(t => o[t] || ""));
if (values.length==0) {console.log(`VALUES EQUAL TO 0 ${values}`)}
else{sheet_spreadsheet_responses.getRange(sheet_spreadsheet_responses.getLastRow() + 1, 1, values.length, values[0].length).setValues(values)};
}
【问题讨论】:
-
我觉得应该是
form.getResponses()。 -
好吧,脚本现在不会引发错误,但没有答案存储在我的电子表格中。有什么我想念的吗?
-
做一些基本的调试。
console.log(formResopnses) -
您正在尝试从表单 id 中读取,它是一个字符串,而您应该从
Form对象中读取
标签: javascript google-apps-script google-sheets google-forms