DoGet с несколькими параметрами не распознается - PullRequest
0 голосов
/ 16 апреля 2020

Итак, я сейчас пытаюсь подключить Lua Script к GS WebApp. Соединение работает, но из-за недостатка знаний в GScripting я не уверен, почему он не сохраняет мои данные правильно.

Со стороны Lua я просто передаю жесткий код случайное имя и простой числовой идентификатор пользователя.

local HttpService = game:GetService("HttpService")
local scriptID = scriptlink
local WebApp 

local function updateSpreadSheet ()

    local playerData = (scriptID .. "?userid=123&name:Jhon Smith")
    WebApp = HttpService:GetAsync(playerData)
end

do 
    updateSpreadSheet()
end

На стороне скрипта Google я сохраняю только данные в последней строке, а затем добавляю значение идентификатора пользователя и имени.

function doGet(e) {
  console.log(e)
 // console.log(f)
  callName(e.parameter.userid,e.parameter.name);
}

function callName(userid,name) {
  // Get the last Row and add the name provided
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange(sheet.getLastRow() + 1,1).setValues([userid],[name]);
}

Однако единственные данные, которые сохраняет сценарий, - это имя, минуя идентификатор пользователя по причинам, которые мне еще предстоит выяснить.

1 Ответ

0 голосов
/ 16 апреля 2020

setValues ​​() требует двухмерный массив, а размеры диапазона должны соответствовать этому массиву. Сценарий получает только диапазон 1 x 1, а аргумент setValues ​​не является двумерным массивом. Исправьте синтаксис или используйте appendRow

sheet.getRange(sheet.getLastRow() + 1,1,1,2).setValues([[userid,name]]);
//or
sheet.appendRow([userid,name])

Ссылки:

...