2017-01-04 2 views
0

This page describes how to extract parameters from POST requests using the GAS content service.Как извлечь тело POST с использованием службы содержимого GAS

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?

ответ

1

От https://developers.google.com/apps-script/releases/2013

9 мая 2013

Следующая просьба была добавлена ​​функция: Issue 2158: Запрос переданный объект для doPost() методы теперь содержит тело POST. Доступ к нему можно получить с помощью e.postData.getDataAsString().

1

Вы можете получить доступ к телу POST с помощью свойства postData объекта события.

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. Вы можете проверить документы на сгустки по адресу:

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

Смежные вопросы