Google apps script 是否有可能强制谷歌脚本返回404错误?

Google apps script 是否有可能强制谷歌脚本返回404错误?,google-apps-script,http-status-code-404,Google Apps Script,Http Status Code 404,在将Google脚本发布为webApp时,允许每个脚本使用GET和POST HTTP方法 显然,GET就是获取一些数据。但是,当您试图获取一个特定的值(例如,使用一个过滤器参数)而找不到任何值时,如何强制脚本返回404错误-找不到 在我看来,有两种可能性: 返回404错误(不确定是否可能) 总是回来 一种结构,用于在输入数据与 应用程序编程接口。比如: { { “错误”:“如果一切正常,则为0,否则为特定代码”, “errorMessage”:“可能错误的描述” }, “数据”:根据查询结果为

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

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

在我看来,有两种可能性:

  • 返回404错误(不确定是否可能)
  • 总是回来 一种结构,用于在输入数据与 应用程序编程接口。比如:

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


我认为您目前无法强制在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
}