Я пытаюсь отправить данные из диапазона ячеек в канал чата раздора

Я пытаюсь отправить данные из диапазона ячеек в текстовый канал разногласий. У меня работает вебхук. Однако я не могу преобразовать данные ячейки в части кода «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());

}

Какую ошибку вы получаете?

Matt 10.04.2019 03:16

Нет ошибки. Мне нужно преобразовать данные, поступающие из листа.getRange, чтобы я предполагаю, что строка будет идти в сообщении = сообщение || "спектр" ;

Ted Jones 10.04.2019 03:19

Хорошо, а что веб-хук получает/что вы хотите, чтобы он получил?

Matt 10.04.2019 03:20

Я пытаюсь заставить его получать данные из этого диапазона ячеек.

Ted Jones 10.04.2019 03:22

Хорошо, но я не понимаю, что вы пытаетесь сделать со своим сообщением = строкой сообщения. Он проверяет, является ли сообщение ложным, и если это так, то отправляет строку «диапазон». Вы имеете в виду альтернативу в качестве диапазона переменных?

Matt 10.04.2019 03:25

Кстати, это из гугл листов. Я использую скрипт приложения Google "javascript".

Ted Jones 10.04.2019 03:25

да. Строка «диапазон» является заполнителем. Я пытаюсь, чтобы этот скрипт отправлял фактический диапазон из ячеек A12: N12 в качестве сообщения. Извините за отсутствие ясности.

Ted Jones 10.04.2019 03:27
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
7
467
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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" неопределенного.

Ted Jones 10.04.2019 03:39

Это окончательный результат.

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());

}

Другие вопросы по теме