2017-01-04 1 views
0

This page describes how to extract parameters from POST requests using the GAS content service.So extrahieren Sie POST-Körper mit GAS-Inhaltsdienst

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); 
} 

Aber wie extrahiert man den Körper einer POST-Anfrage?

Antwort

1

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

9. Mai 2013

Die folgende nachgefragte Funktion wurde hinzugefügt: Ausgabe 2158: Die Objektanforderung übergeben zu doPost() -Methoden nun den POST Körper enthält. Es kann mit e.postData.getDataAsString() zugegriffen werden.

1

Sie können mit der postData-Eigenschaft des Ereignisobjekts auf den POST-Textkörper zugreifen.

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

In Ihrem Beispiel:

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

Der postdata Parameter enthält einen Klecks der POST-Daten. Sie können die Dokumentation auf Blobs überprüfen unter:

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