Ошибка типа: Не удается прочитать свойство «параметр» неопределенного

#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-адрес вашего скрипта? Работает ли он так, как задумано?