postman doPost(e)没有结果- Google脚本作为API

jchrr9hc  于 2022-12-13  发布在  Postman
关注(0)|答案(1)|浏览(163)

我似乎不能得到最简单的doPost回复脚本,尝试了一些事情,从互联网上,不能得到一个帖子回复.我已经减少到尽可能简单,以获得回复,如下.

function doPost(e) {

   var HTMLString = "<style> h1,p {font-family: 'Helvitica', 'Arial'}</style>" 
 + "<h1>Hello World!</h1>"
 + "<p>Welcome to the Web App";
 
 HTMLOutput = HtmlService.createHtmlOutput(HTMLString);
 Logger.log(HTMLOutput);
// Return plain text Output
 return ContentService.createTextOutput(HTMLOutput);

}

部署设置:

我使用 Postman 发送POST

无结果。
有什么想法吗?

xurqigkl

xurqigkl1#

  • 我从I have edited the question to show the deployment settings are "me" and "anyone"了解您的Web应用程序设置。
  • 关于Not sure what you mean by "Reflect your latest script" to obtain a result sorry, can you explain more?,当您使用Web Apps时,需要使用Google Apps Script准备脚本。在这种情况下,当您修改脚本时,需要将最新的脚本反映到当前或新版本的已部署Web Apps中。此处,当脚本作为新版本反映到Web Apps中时,部署ID也会发生变化。由此,Web Apps的端点也改变了。我想在这种情况下,它可能对您的情况没有帮助。所以,我建议在不改变Web Apps端点的情况下,在Web Apps中反映最新的脚本。如果您不理解,我想这篇文章可能会有用。Ref (Author: me)
  • 关于The goal is to create an API, that will do things, but I haven't been able to get a result for a doPost at all. I have managed to doGet with a result, which is lovely, but I want the Post version.,不幸的是,在您当前的脚本中,“HtmlOutput”的对象是returned by return ContentService.createTextOutput(HTMLOutput);。这样,将返回文本“HtmlOutput”。如果您想将一个值作为POSt方法放入Web Apps中,并想检索返回的值,下面的修改如何?
function doPost(e) {
  return ContentService.createTextOutput(JSON.stringify(e));
}
  • 当您修改Web应用程序的脚本时,请将最新的脚本反映到Web应用程序。在这种情况下,当您希望使用Web应用程序的端点而不更改端点时,请选中this post
  • 例如,当HTTP要求以POST方法包含'{"key":"value"}'的要求主体做为文字来执行时,会传回{"parameter":{},"postData":{"contents":"'{\"key\":\"value\"}'","length":17,"name":"postData","type":"text/plain"},"parameters":{},"contextPath":"","contentLength":17,"queryString":""}

注:

  • 在您显示的脚本中,当您想返回HTMLString的值时,修改后的脚本如下所示。但是,在这种情况下,HTML是以文本形式返回的。请注意这一点。如果您想看到呈现的HTML,请使用doGet并返回return HtmlService.createHtmlOutput(HTMLString);
function doPost(e) {
  var HTMLString = "<style> h1,p {font-family: 'Helvitica', 'Arial'}</style>"
    + "<h1>Hello World!</h1>"
    + "<p>Welcome to the Web App";
  HTMLOutput = HtmlService.createHtmlOutput(HTMLString).getContent();
  return ContentService.createTextOutput(HTMLOutput);
}

参考:

相关问题