I've tried using several libraries such as TinyGSM, SoftwareSerial, AT commands but I'm guessing the problem to be with my GET request url is https://script.google.com/macros/s/GAS_ID/exec?tag=1234&value=5678 and the Apps Script code is
function doGet(e){
Logger.log("--- doGet ---");
var tag = "",
value = "";
try {
// for debugging
if (e == null){e={}; e.parameters = {tag:"test",value:"-1"};}
tag = e.parameters.tag;
value = e.parameters.value;
// save the data to spreadsheet
save_data(tag, value);
return ContentService.createTextOutput("Wrote:\n tag: " + tag + "\n value: " + value);
}
catch(error) {
Logger.log(error);
return ContentService.createTextOutput("oops...." + error.message
+ "\n" + new Date()
+ "\ntag: " + tag +
+ "\nvalue: " + value);
}
}
// Method to save given data to a sheet
function save_data(tag, value){
Logger.log("--- save_data ---");
try {
// Paste the URL of the Google Sheets starting from https thru /edit
// For e.g.: https://docs.google.com/..../edit
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/SPREAD_SHEET_ID/edit#gid=0");
var dataLoggerSheet = ss.getSheetByName("Sheet1");
// Get last edited row from DataLogger sheet
var row = dataLoggerSheet.getLastRow();
// Start Populating the data
dataLoggerSheet.getRange("A1").setValue(tag);
dataLoggerSheet.getRange("B1").setValue(value);
//dataLoggerSheet.getRange("C" + row).setValue(tag); // tag
/// dataLoggerSheet.getRange("D" + row).setValue(value); // value
}
catch(error) {
Logger.log(JSON.stringify(error));
}
Logger.log("--- save_data end---");
}
I've already tested the HTTP GET requests on other websites so there seems to be no problem with the device. BTW this code (Apps Script) worked perfectly with nodeMCU with appropriate libraries and arduino code. Please help me out.