Javascript 如何从google脚本发送错误状态代码,如错误请求(400)?
这是谷歌应用程序中的一个Javascript 如何从google脚本发送错误状态代码,如错误请求(400)?,javascript,google-apps-script,http-status-codes,Javascript,Google Apps Script,Http Status Codes,这是谷歌应用程序中的一个doPost函数,返回一条Hello World消息 function doPost(e){ return ContentService.createTextOutput('Hello World'); } 现在假设我只想接受有效的JSON来发布到这个Google应用程序端点,并且我想发送一个请求状态错误的响应。我该怎么做呢。以下是伪代码: function doPost(e){ try{ const data = JSON.parse(e.pos
doPost
函数,返回一条Hello World消息
function doPost(e){
return ContentService.createTextOutput('Hello World');
}
现在假设我只想接受有效的JSON来发布到这个Google应用程序端点,并且我想发送一个请求状态错误的响应。我该怎么做呢。以下是伪代码:
function doPost(e){
try{
const data = JSON.parse(e.postData.contents);
return ContentService.createTextOutput('Hello World');
}catch(err){
// Send Bad Request
}
}
问题和解决方法:
不幸的是,在当前阶段,
ContentService
无法修改状态代码。当我看到ContentService类的官方文档时,找不到这样的方法。这似乎是当前的规范
因此,在您的情况下,作为当前的解决方法,如何将值作为JSON数据返回?这样,您可以使用JSON数据的键来检查值。例如,下面的示例脚本如何
- 当返回没有错误的正确值时
return ContentService.createTextOutput(JSON.stringify({value: 'value'}));
return ContentService.createTextOutput(JSON.stringify({error: 'Error message'}));
- 返回带有错误的值时
return ContentService.createTextOutput(JSON.stringify({value: 'value'}));
return ContentService.createTextOutput(JSON.stringify({error: 'Error message'}));
- 当您需要
时,请添加此项.setMimeType(ContentService.MimeType.JSON)
- 当我在谷歌问题跟踪器上搜索到这个问题时,我找不到它。那么,作为未来的请求报告这一点如何李>
不幸的是,在当前阶段,
ContentService
无法修改状态代码。当我看到ContentService类的官方文档时,找不到这样的方法。这似乎是当前的规范
因此,在您的情况下,作为当前的解决方法,如何将值作为JSON数据返回?这样,您可以使用JSON数据的键来检查值。例如,下面的示例脚本如何
- 当返回没有错误的正确值时
return ContentService.createTextOutput(JSON.stringify({value: 'value'}));
return ContentService.createTextOutput(JSON.stringify({error: 'Error message'}));
- 返回带有错误的值时
return ContentService.createTextOutput(JSON.stringify({value: 'value'}));
return ContentService.createTextOutput(JSON.stringify({error: 'Error message'}));
- 当您需要
时,请添加此项.setMimeType(ContentService.MimeType.JSON)
- 当我在谷歌问题跟踪器上搜索到这个问题时,我找不到它。那么,作为未来的请求报告这一点如何李>
ContentService
无法修改状态代码。这似乎是当前的规范。因此,在您的情况下,如何返回错误消息,如ContentService.createTextOutput(JSON.stringify({error:'error message'}))代码>?并且,当您返回有效值时,例如,ContentService.createTextOutput(JSON.stringify({value:'value'}))代码>?这样,您可以使用JSON数据的键来检查值。如果这不是你期望的方向,我道歉。@Tanaike这是我已经在做的。但这只是一个丑陋的黑客。谢谢你的回复。关于我已经在做了。但这只是一个丑陋的黑客行为。
,我深表歉意,我的评论对您的情况没有帮助。@Tanaike顺便说一句,这可能对其他研究此问题的人有帮助(谢谢!)。我建议你把它作为答案贴出来。您是否有此产品当前规格的参考资料?谢谢您的回复。在当前阶段,我找不到修改ContentService类中状态代码的方法。因此,与当前注释一样,此类方法不包括在ContentService类中。我想通过包含这一点来准备答案。不幸的是,在当前阶段,ContentService
无法修改状态代码。这似乎是当前的规范。因此,在您的情况下,如何返回错误消息,如ContentService.createTextOutput(JSON.stringify({error:'error message'}))代码>?并且,当您返回有效值时,例如,ContentService.createTextOutput(JSON.stringify({value:'value'}))代码>?这样,您可以使用JSON数据的键来检查值。如果这不是你期望的方向,我道歉。@Tanaike这是我已经在做的。但这只是一个丑陋的黑客。谢谢你的回复。关于我已经在做了。但这只是一个丑陋的黑客行为。
,我深表歉意,我的评论对您的情况没有帮助。@Tanaike顺便说一句,这可能对其他研究此问题的人有帮助(谢谢!)。我建议你把它作为答案贴出来。您是否有此产品当前规格的参考资料?谢谢您的回复。在当前阶段,我找不到修改ContentService类中状态代码的方法。因此,与当前注释一样,此类方法不包括在ContentService类中。我想准备一个答案,包括这一点。