第一次尝试不和谐的机器人,但我最终决定在这个问题上寻求帮助。错误如标题所示,我无法解决它。实际上,当进行类似线程指示的更改时,错误从{"content":“无法将"{}”解释为string."}更改为{"message":"400: Bad Request","code":0}。其目的是简单地从单个单元格获取内容,并将其作为消息发送给discord。无法嵌入,因为必须ping将伴随消息的角色。
function onEdit() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var range = sheet.getRange('I2');
range.activate();
var selection = sheet.getSelection();
var message = selection.getCurrentCell();
var discordUrl = "https://discord.com/api/webhooks;
`changed to var payload = {content:message} and received the new error`
var payload = JSON.stringify({content: message});
var params = {
method: "POST",
payload: payload,
muteHttpExceptions : true,
contentType: "application/json"
};
var response = UrlFetchApp.fetch(discordUrl, params);
Logger.log(response.getContentText());
}
发布于 2021-01-20 01:02:08
问题:
getCurrentCell的返回值为Range,请求体中的content
应为字符串。
解决方案:
要从单个单元格获取值,可以使用getValue。但是,如果区域有多个元素,它将返回区域中左上角单元格的值。
您的代码应如下所示:
function onEdit() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var range = sheet.getRange('I2');
var message = range.getValue();
var discordUrl = "https://discord.com/api/webhooks/XXXX";
`changed to var payload = {content:message} and received the new error`
var payload = JSON.stringify({content: message});
var params = {
method: "POST",
payload: payload,
muteHttpExceptions : true,
contentType: "application/json"
};
var response = UrlFetchApp.fetch(discordUrl, params);
Logger.log(response.getContentText());
}
https://stackoverflow.com/questions/65794845
复制相似问题