为http get请求提供键值对

时间:2012-11-09 01:44:37

标签: google-apps-script

我确信这有一个简单的答案,但Google Script文档目前有点缺乏。无论如何,这是一个问题。我有一个简单的键值映射:

var params = {var1: "value1", var2:"value2"};

现在我想通过http请求发送该数据。如果我使用POST,那么这很容易,我可以提供有效负载作为一个选项,它为我编码很好:

UrlFetchApp.fetch(url, {method: "post", payload: params});

但是如何使用GET请求执行等效操作?

在jQuery中,我使用jQuery.param并将其连接到url。 Google Script中是否有帮助方法?

1 个答案:

答案 0 :(得分:1)

怎么样:

var params = {'a':1, 'speciöl':'%'};
var query = [];
for(var key in params) {
  if(Object.prototype.hasOwnProperty.call(params,key)) {
    query.push(encodeURIComponent(key)+"="+encodeURIComponent(params[key].toString()));
  }
}
var url = "http://bla" + "?" + query.join("&");

不会过滤空值,序列化很浅。