我在使用Webhook for Google Forms将提交的内容发布到Discord频道时遇到问题。效果很好,但我不希望它获取整个提交内容,而仅获取前四个响应。 GitHub link to code
var POST_URL = "WEBHOOKURL";
function onSubmit(e) {
var form = FormApp.getActiveForm();
var allResponses = form.getResponses();
var latestResponse = allResponses[allResponses.length - 1];
var response = latestResponse.getItemResponses();
var items = [];
for (var i = 0; i < response.length; i++) {
var question = response[i].getItem().getTitle();
var answer = response[i].getResponse();
var parts = answer.match(/[\s\S]{1,1024}/g) || [];
if (answer == "") {
continue;
}
for (var j = 0; j < parts.length; j++) {
if (j == 0) {
items.push({
"name": question,
"value": parts[j],
"inline": false
});
} else {
items.push({
"name": question.concat(" (cont.)"),
"value": parts[j],
"inline": false
});
}
}
}
var options = {
"method": "post",
"payload": JSON.stringify({
"embeds": [{
"title": "TOP TEXT CHANGE THIS IN SCRIPT",
"fields": items,
"footer": {
"text": "BOTTOM TEXT CHANGE THIS IN SCRIPT"
}
}]
})
};
UrlFetchApp.fetch(POST_URL, options);
};
我已经在第5行中尝试了以下修改
var allResponses = form.getResponses().slice(0, 4);
,但没有用。它只是获取了整个表格。
我希望有人能提供帮助。谢谢。
答案 0 :(得分:0)
找到了一种方法。如果我将第11行更改为
for (var i = 0; i < response.length - ?; i++) {
与?是您希望省略的响应数,您将获得所需的结果。 在前面的几行中可能有一种方法可以这样做,但这对我有用。