【发布时间】:2019-06-14 00:26:07
【问题描述】:
我在使用 Google 表单的 Webhook 将提交内容发布到 Discord 频道时遇到问题。它工作得很好,但我不希望它获取整个提交,而只获取前 4 个响应。 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);
它没有工作。它只是获取了整个表单。
我希望有人可以提供帮助。谢谢。
【问题讨论】:
-
请以(格式化)文本形式发布测试,而不是图片。
-
根据请求从屏幕截图更改为格式化文本。我希望能澄清问题。
-
我还添加了一个包含整个脚本的链接。一个想法是,如果 allResponses = [response1, response2, response3, response4],那么 allResponses[1:3] 将返回 [response2, response3]。但我不知道这是否可行。
标签: javascript google-apps-script discord