如何从谷歌脚本发送错误状态代码,如错误请求400? 问题和解决方法:注意:参考:

问题描述

这是 Google App 中的 doPost 函数,用于返回 Hello World 消息。

function doPost(e){

  return ContentService.createtextoutput('Hello World');
} 

现在假设我只想接受要发布到此 Google App 端点的有效 JSON,并且我想发送状态为错误请求的响应。我怎样才能做到这一点。伪代码如下:

function doPost(e){
  try{
     const data = JSON.parse(e.postData.contents);
     return ContentService.createtextoutput('Hello World');
  }catch(err){
      // Send Bad Request
  }      

} 

解决方法

问题和解决方法:

遗憾的是,在当前阶段,ContentService 无法修改状态码。当我看到Class ContentService的官方文档时,找不到这样的方法。 Ref 似乎这是当前的规范。

那么在您的情况下,作为当前的解决方法,如何将值作为 JSON 数据返回?这样,您可以使用 JSON 数据的键检查值。例如,下面的示例脚本怎么样?

  • 当返回没有错误的正确值时,

      return ContentService.createTextOutput(JSON.stringify({value: 'value'}));
    
  • 当返回有错误的值时,

      return ContentService.createTextOutput(JSON.stringify({error: 'Error message'}));
    
  • 当您需要.setMimeType(ContentService.MimeType.JSON)时,请添加。

注意:

  • 当我在 Google 问题跟踪器上搜索此问题时,我找不到它。那么如何将此报告为未来的请求呢? Ref

参考: