Sto provando a pubblicare su un servizio Web che prevede di ottenere JSON come payload utilizzando Google Apps Script. Sto utilizzando il seguente codice:Script di Google Apps UrlFetchApp con payload JSON
var options =
{
"method" : "post",
"contentType" : "application/json",
"headers" : {
"Authorization" : "Basic <Base64 of user:password>"
},
"payload" : { "endDate": "2012-06-03" }
};
var response = UrlFetchApp.fetch("http://www.example.com/service/expecting/json", options);
Sul lato server sto ottenendo il seguente errore:
WARN [facade.SettingsServlet] 04 Jun 2012 15:30:26 - Unable to parse request body: endDate=2012-06-03
net.liftweb.json.JsonParser$ParseException: unknown token e
sto supponendo che il server si aspetta di ottenere
{ "endDate": "2012-06-03" }
invece di
endDate=2012-06-03
ma non so come farlo fare UrlFetchApp.
Si dice circa il carico utile nel link:" ... Può essere una stringa, un array di byte, o un tasto JavaScript/valore mappa Vedi esempio. ". Quando provo la tua proposta ottengo il codice di errore 400 dal server. Ho provato anche 'Utilities.jsonStringify' con lo stesso codice di risposta 400. – Guy
Ma il messaggio di errore lato server è lo stesso? Prova a catturare la richiesta per vedere come appare il corpo. –
Il messaggio di errore è diverso in quanto non ottengo la richiesta al server (400). Non riesco a catturare la richiesta dal lato client (Script di Google Apps) e non vedo passare Tomcat. Nessuna traccia di esso nei log di Tomcat. – Guy