我通过方法GET url使用谷歌应用程序脚本成功使用以下方法调用RESTful webserice:
UrlFetchApp.fetch(url);
但是当我切换方法使用POST时,返回的结果告诉我没有发送参数:
UrlFetchApp.fetch(url, options);
我还尝试使用谷歌Chrome浏览器(高级)休息客户端,并且不会在那里发送有效负载参数。
我错过了什么?
以下是Google Chrome(高级)Rest Client界面。
答案 0 :(得分:1)
您在评论中提到您正在将发送的有效负载转换为JSON。
首先,您确定远程服务需要JSON有效负载,而不是形成编码数据吗?
如果服务需要表单编码数据,请不要JSON.stringify您的有效负载:
var data = {"x1": "1", "x2": "2"};
var options = {method : "post", payload : data};
如果服务确实需要JSON有效负载,则需要设置内容类型:
var data = {"x1": "1", "x2": "2"};
data = JSON.stringify(data);
var options = {method : "post", payload : data, contentType:"application/json"};
否则默认内容类型为' application / x-www-form-urlencoded'使用。
请参阅" contentType"在"高级参数":https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app