POST 请求在节点 JS 中没有显示任何值

POST Request does not show any value in node JS

我正在尝试通过 google 应用脚本向我的节点 js 服务器发送 post 请求,但收到的数据是 {}。

我尝试通过 zapier 和 postman 发送 Post,如果我将有效负载类型设置为“form”,zapier 将工作,如果我设置 postman 将工作正文为 x-www-form-urlencoded。

有没有让它在 google 应用程序脚本上运行的想法?

您是否已在您的节点服务器中加载 json 和 urlencode ?

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

在你的脚本中,做如下修改怎么样?

发件人:

var requestOptions = {
  "method" : "post",
  "contentType" : "application/x-www-form-urlencoded",
  "body" : payload
  //"body" : payload,

}

收件人:

var requestOptions = {
  "method": "post",
  "payload": payload
};
  • 属性 body 不存在于 UrlFetchApp 中。
  • application/x-www-form-urlencoded 是默认的内容类型。
  • 当本次修改请求为运行时,请求payload作为表单数据

注:

  • 作为附加信息,在你的Node.js的server-side中,如果使用了app.use(bodyParser.json());,则需要请求as application/json as如下。请注意这一点。

      var requestOptions = {
        "method": "post",
        "payload": JSON.stringify(payload),
        "contentType": "application/json"
      };
    

参考: