来自Google Apps脚本的RESTful

时间:2015-01-04 18:24:48

标签: rest google-apps-script google-sheets

我通过方法GET url使用谷歌应用程序脚本成功使用以下方法调用RESTful webserice:

UrlFetchApp.fetch(url);

但是当我切换方法使用POST时,返回的结果告诉我没有发送参数:

UrlFetchApp.fetch(url, options);

我还尝试使用谷歌Chrome浏览器(高级)休息客户端,并且不会在那里发送有效负载参数。

我错过了什么?

以下是Google Chrome(高级)Rest Client界面。

enter image description here

1 个答案:

答案 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