Google Sheets может принимать данные с помощью запроса GET

6 ноября 2023

Google Sheets can accept data through a GET request and respond to me if such data is already available

Первый вариант:

function doGet(e) { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var data = e.parameter.data; var range = sheet.createTextFinder(data).findNext(); var response = ContentService.createTextOutput(); if (range !== null) { response.setContent("Data available"); response.setMimeType(ContentService.MimeType.PLAIN_TEXT); } else { response.setContent("Data is not available"); response.setMimeType(ContentService.MimeType.PLAIN_TEXT); }

return response;
}

Второй вариант с ответом 0 если данные в таблице есть и 1 если данных нет и тут же их дописывать в свободную строку

function doGet(e) { var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("price"); var data = e.parameter.data; var range = sheet.getRange("A:A").getValues(); var response = ContentService.createTextOutput();
if (range.flat().indexOf(data) > -1) { response.setContent("0"); } else { response.setContent("1"); var firstEmptyRow = sheet.getLastRow() + 1; sheet.getRange("A" + firstEmptyRow).setValue(data); }
response.setMimeType(ContentService.MimeType.PLAIN_TEXT); return response; }

Выше представлен код для:
Принимать данные через запрос GET и отвечать 0, если такие данные уже доступны
Отвечать 1 если данных небыло и при этом записывать в свободную строку

Обязательно после изменения кода запускайте новое развёртывание и используйте обновлённый API ключ

https://script.google.com/macros/s/Идентификатор развертывания/exec?data=Text