如何使用GAS内容服务提取POST正文

时间:2017-01-04 07:17:25

标签: google-apps-script http-post

This page describes how to extract parameters from POST requests using the GAS content service

function doPost(request) {
  var events = CalendarApp.getEvents(
    new Date(Number(request.parameters.start) * 1000),
    new Date(Number(request.parameters.end) * 1000));
  var result = {
    available: events.length == 0
  };
  return ContentService.createTextOutput(JSON.stringify(result))
    .setMimeType(ContentService.MimeType.JSON);
}

但是如何提取POST请求的主体呢?

2 个答案:

答案 0 :(得分:1)

来自https://developers.google.com/apps-script/releases/2013

  

2013年5月9日

     

添加了以下请求的功能:   问题2158:传递给doPost()方法的请求对象现在包含POST正文。可以使用e.postData.getDataAsString()来访问它。

答案 1 :(得分:1)

您可以使用事件对象的postData属性访问POST正文。

  

https://developers.google.com/apps-script/guides/web#url_parameters

在你的例子中:

function doPost(request) {
  var myData= request.postData; //myData is a blob
  .
  .
  .
  return ContentService.createTextOutput(JSON.stringify(result))
  .setMimeType(ContentService.MimeType.JSON);
}

postData参数包含POST数据的blob。您可以在以下位置查看Blob上的文档:

  

https://developers.google.com/apps-script/reference/base/blob