Помогите плс с гугл sheets

Поддержка
  • Есть вот такой код и запрос , проблема в том что я не могу понять почему не верно вносятся данные, то есть например из параметров A вносится в столбец K
    152af8b7-0da9-4c43-a6b4-d798d980bead-image.png

    Что нужно изменить что бы все нормально работало подскажите плс

    Как выглядит запрос - https://script.google.com/macros/s/[[SHETS_KEY]]/exec?sheet=myNewSheet&A=data_A&B=data_B&C=data_C&D=data_D&E=data_E&F=data_F&G=data_G&H=data_H&I=data_I&J=data_J&K=data_K

    function doGet(e) {
      return внести_данные_из_запроса(e);
    }
    
    function внести_данные_из_запроса(request) {
      var параметры = request.parameter;
      if (!параметры) {
        return ContentService.createTextOutput('Ошибка: параметры запроса не найдены.');
      }
      
      // Получение названия листа из параметров запроса
      var название_листа = параметры.sheet;
      if (!название_листа) {
        return ContentService.createTextOutput('Ошибка: название листа не указано.');
      }
      
      // Удаление параметра с названием листа из параметров запроса
      delete параметры.sheet;
      
      var данные = [];
      for (var ключ in параметры) {
        данные.push(параметры[ключ]);
      }
      
      // Определение таблицы
      var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
      
      // Получение листа или создание нового
      var лист = spreadsheet.getSheetByName(название_листа);
      if (!лист) {
        лист = spreadsheet.insertSheet(название_листа);
      }
      
      // Определение следующей строки для записи
      var следующая_строка = лист.getLastRow() + 1;
      
      // Внесение данных в лист в новую строку
      лист.getRange(следующая_строка, 1, 1, данные.length).setValues([данные]);
      
      return ContentService.createTextOutput('Данные успешно внесены в лист "' + лист.getName() + '".');
    }
    
    
    
  • хм, а это нормально, что переменные кириллицей?

  • @Roy-Mustang Данные для метода setValues() должны содержаться в двумерном массиве, то есть либо в цикле помещайте данные соответствующе:

      var данные = [];
      for (var ключ in параметры) {
        данные.push([параметры[ключ]]); 
      }
    

    Либо в цикле вместо заполнения массива устанавливайте значения ячеек через setValue()

      var столбец = 1;
      for (var ключ in параметры) {
        лист.getRange(следующая_строка, столбец).setValue(параметры[ключ]);
        столбец++;
      }
    

    Ну и всё таки я бы рекомендовал не использовать кириллицу в названиях переменных