Я пытаюсь отправить много ответов, используя данные из электронной таблицы Google. Я использовал следующий код:
function FillForm() {
var wrkSht = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
for(var i = 2; i <= wrkSht.getLastRow(); i++)
{
try{
UrlFetchApp.fetch("https://docs.google.com/forms/u/0/d/e/SomeID/formResponse", {"method" : "post",
"payload" : {
"entry.1320223480" : wrkSht.getRange("A" + i).getValue(),
"entry.1469028961_sentinel" : wrkSht.getRange("B" + i).getValue(),
"entry.379679049" : wrkSht.getRange("C" + i).getValue()
}});
}
catch(ex)
{
MailApp.sendEmail("MyEmail@gmail.com", "error at spreedsheet", "name: " + wrkSht.getRange("A" + i).getValue() + " had the error: " + ex)
throw ex;
}
}
}
, но каждый раз, когда я пытаюсь его запустить, я получаю следующую ошибку:
Exception: Request failed for https://docs.google.com returned code 400. Truncated server response:
<!DOCTYPE html><html lang="en" class="m2"><head><link rel="shortcut icon" sizes="16x16"
href="https://ssl.gstatic.com/docs/spreadsheets/forms/favic... (use muteHttpExceptions option to examine full response) (line 16, file "Code")
Я подозреваю, что моя проблема в номере записи: один Вопрос в форме с несколькими вариантами ответа, и еще один вопрос, но есть несколько вариантов выбора. по этим вопросам я не смог найти номер записи, поэтому я ввел номер записи input type: hidden
, который, как мне кажется, предназначен для разработчиков, которые хотят отправлять ответы с помощью кода, но я не уверен.
может Вы нашли какие-либо проблемы?
Редактировать:
Два вопроса, у которых есть опции, а не текст, являются проблемой, потому что значения, которые я пытаюсь получить в них, являются строками? это точная строка, представляющая один из параметров, но, возможно, есть другие способы ввода значения в кавычки параметров?