简体   繁体   中英

Google App Script: Cannot find method getRange(number, number)

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!

Changed the variable name to rowRequest instead of row.

function getFromSheet(rowRequest){
  if(typeof rowRequest != "number"){
    rowRequest = Number(rowRequest);
    Logger.log("converting");
  }
  ss = SpreadsheetApp.openById('12r0gHSgvBg8s_RJIuWJl-3aZCAGOpW0PfGb0SVGNu4Q');
  sheet = ss.getSheets()[0];
  result = sheet.getRange(rowRequest, 2).getValue();
  return result;
}

在此输入图像描述

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM