People Counting Spreadsheet Script

Sdílet
Vložit
  • čas přidán 12. 09. 2024
  • People Counting Script
    Link Drive : drive.google.c...
    //=========_____________ Script ________________========
    function doGet(e) {
    Logger.log(JSON.stringify(e));
    var result = 'Ok';
    if (e.parameter == 'undefined') {
    result = 'No Parameters';
    }
    else {
    var sheet_id = '#Spreadsheet_ID'; // Spreadsheet ID.
    var sheet_name = "#Sheet_Name"; // Sheet Name in Google Sheets.
    var sheet_open = SpreadsheetApp.openById(sheet_id);
    var sheet_target = sheet_open.getSheetByName(sheet_name);
    var newRow = sheet_target.getLastRow() + 1;
    var rowDataLog = [];
    var Data_for_E2;
    var Data_for_F2;
    var Data_for_G2;
    var Curr_Date = Utilities.formatDate(new Date(), "Asia/Jakarta", 'dd/MM/yyyy');
    rowDataLog[0] = Curr_Date; // Date will be written in column A
    Data_for_E2 = Curr_Date; // Date will be written in column E2
    var Curr_Time = Utilities.formatDate(new Date(), "Asia/Jakarta", 'HH:mm:ss');
    rowDataLog[1] = Curr_Time; // Time will be written in column B
    Data_for_F2 = Curr_Time; // Time will be written in column F2
    var sts_val = '';
    for (var param in e.parameter) {
    Logger.log('In for loop, param=' + param);
    var value = stripQuotes(e.parameter[param]);
    Logger.log(param + ':' + e.parameter[param]);
    switch (param) {
    case 'sts':
    sts_val = value;
    break;
    case 'count':
    rowDataLog[2] = value; // The data value will be written in column D
    Data_for_G2 = value; // The datavalue will be written in column G2
    result += ', dataWritten on column C';
    break;
    default:
    result += ", unsupported parameter";
    }
    }
    // Conditions for writing data received from ESP32 to Google Sheets.
    if (sts_val == 'write') {
    // Writes data section.
    Logger.log(JSON.stringify(rowDataLog));
    var newRangeDataLog = sheet_target.getRange(newRow, 1, 1, rowDataLog.length);
    newRangeDataLog.setValues([rowDataLog]);
    // Write the data.
    var RangeDataLatest = sheet_target.getRange('E2:G2');
    RangeDataLatest.setValues([[Data_for_E2, Data_for_F2, Data_for_G2]]);
    return ContentService.createTextOutput(result);
    }
    // Conditions for sending data to ESP32 when ESP32 reads data from Google Sheets.
    if (sts_val == 'read') {
    var all_Data = sheet_target.getRange('G2:G2').getValues();
    return ContentService.createTextOutput(all_Data);
    }
    }
    }
    function stripQuotes( value ) {
    return value.replace(/^["']|['"]$/g, "");
    }
    //===============___________===================

Komentáře •