I'm trying to write a simple Content Service API with Google App Script. My doGet() just takes a single param 'row' and returns the value in that row from col 2. Here it is:
function doGet(req){
try{
reqRow = req.queryString.split('=')[1];
rowNum = parseInt(reqRow);
}
catch(err){
throw "Error: "+ err + " -- Here's what we got: " + req + "Did you include a row parameter?";
}
resultValue = getFromSheet(rowNum);
if(resultValue != ""){
result = {
"Result":"Success",
"Row": reqRow,
"Value" : resultValue
}
}
else{
result = {
"Result":"Failure",
"Row": reqRow,
"Value" : "No value found at row"
}
}
return ContentService.createTextOutput(JSON.stringify(result)).setMimeType(ContentService.MimeType.JSON);
}
And here's our simple getFromSheet function:
function getFromSheet(row){
if(typeof row != "number"){
row = Number(row);
Logger.log("converting");
}
sheetid = 111111111;
ss = SpreadsheetApp.openById(sheetid);
sheet = ss.getSheets()[0];
return ss.getRange(row, 2).getValue();
}
When I post something to it, via a url similar to
"https://script.google.com/macros/s/111111111/exec?row=3"
I get the following error:
Cannot find method getRange(number,number).
Note: Why didn't I use req.parameters.row in our doGet() method? Because I was receiving the following error:
Cannot find method getRange((class),number).
Isn't getRange(number, number) the main way to call this method?
Here is the reference guide to the sheet class: https://developers.google.com/apps-script/reference/spreadsheet/sheet
Thank you all!