Да, вы можете добиться этого с помощью Google App Script [1].
Используя методы классов в службе электронных таблиц [2] и [3], вы можете получить данные нужного листа, имеющие идентификатор таблицы (идентификатор, который появляется внутри URL при открытии Google.Простынь) .Затем я перебираю данные и анализирую их в строку в формате CSV.
С помощью строки csv вы можете создать объект BLOB-объекта [4], который будет отправлен на сервер с помощью запроса post, используя метод fetch [5].
Чтобы ваш код запускался автоматическинапример, вы можете использовать ручные триггеры и настроить их запуск каждую минуту или по мере необходимости [6].
Вы должны настроить серверное приложение на получение почтового запроса и задать URL-адрес запроса в скрипте приложения (в качестве примера я поставил https://example.com/post).Ниже приведен код, который я тестировал до получения переменной csvBlob:
function myFunction() {
var ss = SpreadsheetApp.openById("SpreadsheetID");
var sheet = ss.getSheets()[0];
// This represents ALL the data
var range = sheet.getDataRange();
var values = range.getValues();
var csvStr = "";
// This creates a string of the spreadsheet in CSV format with a trailing comma
for (var i = 0; i < values.length; i++) {
var row = "";
for (var j = 0; j < values[i].length; j++) {
if (values[i][j]) {
row = row + values[i][j];
row = row + ",";
row = row.substring(0, (row.length-1));
csvStr += row + "\n";
}
//creates de Blob of the csv file
var csvBlob = Utilities.newBlob(csvStr, 'text/csv', 'example.csv');
Logger.log(csvBlob.getDataAsString());
//make a post request to the server (I didn't test this part)
var formData = {
'name': 'Bob Smith',
'email': 'bob@example.com',
'file': csv
};
var options = {
'method' : 'post',
'payload' : formData
};
UrlFetchApp.fetch('https://example.com/post', options);
}
[1] https://script.google.com/home
[2] https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app
[3] https://developers.google.com/apps-script/reference/spreadsheet/sheet
[4] https://developers.google.com/apps-script/reference/utilities/utilities#newBlob(Byte,String,String)
[5] https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app
[6] https://developers.google.com/apps-script/guides/triggers/installable