问题描述
这是 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