首页 > 解决方案 > 在谷歌应用程序脚本中使用 doGet(e) 的问题

问题描述

我面临一个 doGet(e) 问题。

我正在使用的代码如下所示。虽然第一部分 - getRecords 工作正常,但第二部分 getPwd 出现问题。我收到错误“错误 400(错误请求)!!1”我哪里出错了?

//Get Records
function doGet(e){
  var action = e.parameter.action;
  if(action == 'getRecords'){
  return getRecords(e);
}
 if(action == 'getPwd'){
  return getPwd(e);
 }
}

function getRecords(e){
var returnrecords={};
var rows = sheet.getRange(2, 1, sheet.getLastRow() - 1,sheet.getLastColumn()).getValues();
data = [];
//Push all records to returnrecords
for (var r = 0, l = rows.length; r < l; r++) {
  var row = rows[r], record = {};
  record['email']    = row[2];
  record['username'] = row[3];
  record['id']    = row[4]; 
  record['phone']    = row[4];
  data.push(record);
 }
records.items = data;
var result=JSON.stringify(returnrecords);
return ContentService.createTextOutput(result).setMimeType(ContentService.MimeType.JSON);
 }

function getPwd(e){
 var returnrecords={};
 data = [];
 var record = {};
 var eMail = e.parameter.eMail;
 var values = sheet.getDataRange().getValues();
 var pWd = "";
 for(var i=0, iLen=values.length; i<iLen; i++) {
   if(values[i][2] == eMail) {
   pWd = values[i][7];
   }
 }
 record['password'] = pWd;
 data.push(record);
 records.items = data;
 var result=JSON.stringify(returnrecords);
 return ContentService.createTextOutput(result).setMimeType(ContentService.MimeType.JSON);
 }

另外,在这种情况下,查询字符串应该是什么,因为我需要传递一个参数 - 电子邮件?我从 Android 应用程序调用它。第一种情况是列出所有记录。

标签: google-apps-scriptweb-applicationsgetquery-parametershttp-status-code-400

解决方案


推荐阅读