我正嘗試將POST發佈到期望使用Google Apps腳本獲取JSON作爲有效內容的Web服務。我使用下面的代碼:帶有JSON有效負載的Google Apps腳本UrlFetchApp
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);
在服務器端我收到以下錯誤:
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
我假設服務器期望得到
{ "endDate": "2012-06-03" }
,而不是
endDate=2012-06-03
但我不知道如何讓UrlFetchApp做到這一點。
據說大約在鏈接有效載荷:」 ......它可以是一個字符串,一個字節數組或一個JavaScript關鍵/ value map。看例子「。 當我嘗試您的提議時,我從服務器獲得錯誤代碼400。我嘗試了'Utilities.jsonStringify'以及相同的400響應代碼。 – Guy
但是服務器端的錯誤信息是一樣的嗎?嘗試捕獲請求以查看身體的外觀。 –
錯誤消息是不同的,因爲我根本沒有收到請求(400)的服務器。我無法捕獲客戶端的請求(Google Apps腳本),但我沒有看到它通過Tomcat。在Tomcat日誌中沒有它的蹤跡。 – Guy