#google-apps-script #parameters #undefined
Вопрос:
Отказ от ответственности: Я не разбираюсь в Google Script, поэтому буду признателен за подробные объяснения проблемы
Моя цель — воспроизвести шаги с этой страницы: https://www.labnol.org/send-sms-google-sheets-200402
Однако при попытке отладки doPost я получаю следующее сообщение.
Полный используемый сценарий:
const SHEET_URL ="myurl";
const SHEET_NAME = "SMS";
const doGet = () => {
const sheet = SpreadsheetApp.openByUrl(SHEET_URL).getSheetByName(
SHEET_NAME
);
const [header, ...data] = sheet.getDataRange().getDisplayValues();
const PHONE = header.indexOf('Phone');
const TEXT = header.indexOf('Text');
const STATUS = header.indexOf('Status');
const output = [];
data.forEach((row, index) => {
if (row[STATUS] === '') {
output.push([index 1, row[PHONE], row[TEXT]]);
}
});
const json = JSON.stringify(output);
return ContentService.createTextOutput(json).setMimeType(
ContentService.MimeType.TEXT
);
};
const doPost = (e) => {
const sheet = SpreadsheetApp.openByUrl(SHEET_URL).getSheetByName(
SHEET_NAME
);
const [header] = sheet.getRange('A1:1').getValues();
const STATUS = header.indexOf('Status');
var rowId = Number(e.parameter.row);
sheet.getRange(rowId 1, STATUS 1).setValue('SMS Sent');
return ContentService.createTextOutput('').setMimeType(
ContentService.MimeType.TEXT
);
};
Комментарии:
1. Вы не можете отлаживать doPost(e) из редактора сценариев, если не предоставите объект события. Если именно так вы получаете ошибку, то это, вероятно, не имеет никакого отношения к реальной проблеме.
2. Если вы запустите
doPost
вручную из редактора сценариев,e
он не будет определен. Вы пробовали сделатьPOST
запрос на URL-адрес вашего скрипта? Работает ли он так, как задумано?