因此,我有这段代码是某人不久前发布的。它已经完美运行了一年。它采用google形式的答案并将其作为webhook发布到不和谐频道。从昨天开始,它不再起作用。脚本没有任何改变。
function onSubmit(e) {
var form = FormApp.getActiveForm();
var POST_URL = "****";
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();
try {
var parts = answer.match(/[\s\S]{1,1024}/g) || [];
} catch (e) {
var parts = answer;
}
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({
"content":"Hello, World!",
"embeds":[{
"title":"War Times Form",
"fields":items,
"footer":{
"text":"***Please verify these are Correct***"
}
}]
})
};
Logger.log("[METHOD] onFormSubmit");
Logger.log(items);
Logger.log(options);
var response = UrlFetchApp.fetch(POST_URL, options);
Logger.log(response);
};
这就是记录所说的提交
[19-11-24 10:13:28:400 PST] {method=POST, payload={"content":"Hello, World!","embeds":[{"title":"War Times Form","fields":[{"name":"Post your clan name:","value":"fds","inline":false},{"name":"Post your name","value":"fds","inline":false},{"name":"Clan that you are declaring against:","value":"dfsa","inline":false},{"name":"Days and times your group is available was HQ fight (must be in EST):","value":"sdaf","inline":false}],"footer":{"text":"***Please verify these are Correct***"}}]}}
但是,我不断收到此错误:
对https://discordapp.com的请求失败,返回了代码400。服务器响应被截断:{“ message”:“无法发送空消息”,“ code”:50006}(使用MutantHttpExceptions选项检查完整响应)
在onSubmit(代码:54)
任何人都可以给我的帮助将是很大的。我尝试联系不和谐的支持人员,但他们不会帮助其API / Dev
最佳答案
因此发现答案必须添加到通过请求发送的选项中。不和谐显然改变了它,没有告诉任何人你必须声明它"contentType" : "application/json",