是否有可能强制google脚本返回404错误?

时间:2017-09-08 10:25:03

标签: google-apps-script http-status-code-404

将Google脚本作为webApp发布时,每个脚本都允许使用GET和POST HTTP方法。

显然,GET是获取一些数据。但是,当您尝试获取特定值(例如,使用过滤器参数)并且未找到任何值时,如何强制脚本返回404错误 - 未找到?

从我的角度来看有两种可能性:

  • 返回404错误(不确定是否可能)
  • 总是回来 如果输入数据匹配则便于使用的结构 API。类似的东西:

    {       {         “错误”:“如果一切正常,则为0,否则为特定代码”,         “errorMessage”:“可能错误的描述”       },       “data”:根据查询结果清空或填充数据     }

1 个答案:

答案 0 :(得分:1)

我认为您目前无法在GAS中强制设置响应代码,但您的第二个选项听起来可行。这样的事可能适合你:

function doGet(e){

  var json = handleResponse(e);


  return ContentService.createTextOutput(JSON.stringify(json))
                       .setMimeType(ContentService.MimeType.JSON);
}

处理程序功能示例:

function handleResponse(e) {

  var arr = [1, 2, 3, 4, 5, 6, 7, 8];
  var param = e.parameter.yourParameter;

  if (param) {

     arr = arr.filter(function(element){

        return element > parseInt(param);

});

   if (arr.length > 0) {

          return {"result":arr};

       }  else {

           return {"error":"no value was found"};

           }

} else {

   return {"error":"query parameter not specified"};

}

}

在接收端,您可以根据其包含的属性处理响应:

if ("result" in response) {
   //do something
}

if ("error" in response) {
   //do something
}