Я пытаюсь отправить данные из диапазона ячеек в текстовый канал разногласий. У меня работает вебхук. Однако я не могу преобразовать данные ячейки в части кода «message = messager».
function postMessageToDiscord(message) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Loot");
var range = sheet.getRange("A12:N12");
message = message || "range" ;
var discordUrl = 'https://discordapp.com/api/webhooks/565294544682221617/l_mER5nwxITlaW-9g0qXZxZ0CDSWqLrHYXDcvcdyubC9VElWmbfbRTdwbQhVFdyVYxFq';
var payload = JSON.stringify({content: message});
var params = {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
method: "POST",
payload: payload,
muteHttpExceptions: true
};
var response = UrlFetchApp.fetch(discordUrl, params);
Logger.log(response.getContentText());
}
Нет ошибки. Мне нужно преобразовать данные, поступающие из листа.getRange, чтобы я предполагаю, что строка будет идти в сообщении = сообщение || "спектр" ;
Хорошо, а что веб-хук получает/что вы хотите, чтобы он получил?
Я пытаюсь заставить его получать данные из этого диапазона ячеек.
Хорошо, но я не понимаю, что вы пытаетесь сделать со своим сообщением = строкой сообщения. Он проверяет, является ли сообщение ложным, и если это так, то отправляет строку «диапазон». Вы имеете в виду альтернативу в качестве диапазона переменных?
Кстати, это из гугл листов. Я использую скрипт приложения Google "javascript".
да. Строка «диапазон» является заполнителем. Я пытаюсь, чтобы этот скрипт отправлял фактический диапазон из ячеек A12: N12 в качестве сообщения. Извините за отсутствие ясности.
getRange
возвращает объект Range
.
Из документов мы видим, что есть метод getValues()
, который возвращает двумерный массив, содержащий данные в каждой ячейке.
Таким образом, мы можем написать простой цикл for следующим образом:
var data = range.getValues();
var result = '';
for (var i = 0; i < data.length; i++) {
var d = data[i];
for (var j = 0; j < d.length; j++) {
result = result.concat(d[j]);
}
}
затем отправьте результат var.
он говорит TypeError: Невозможно вызвать метод "concat" неопределенного.
Это окончательный результат.
function postMessageToDiscord(message) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Loot");
var range = sheet.getRange("A12:N12");
var data = range.getValues();
var result = '';
for (var i = 0; i < data.length; i++) {
var d = data[i];
for (var j = 0; j < d.length; j++) {
result = result.concat(d[j]);
}
}
message = message || result ;
var discordUrl = 'https://discordapp.com/api/webhooks/565294544682221617/l_mER5nwxITlaW-9g0qXZxZ0CDSWqLrHYXDcvcdyubC9VElWmbfbRTdwbQhVFdyVYxFq';
var payload = JSON.stringify({content: message});
var params = {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
method: "POST",
payload: payload,
muteHttpExceptions: true
};
var response = UrlFetchApp.fetch(discordUrl, params);
Logger.log(response.getContentText());
}
Какую ошибку вы получаете?