且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

UrlFetchApp:如何模拟多次具有相同名称的参数的HTTP POST

更新时间:2023-02-25 15:48:08

我也有类似的问题,我通过应用以下函数手动将负载对象编码成字符串来解决它:

function jsonToUrlencoded(obj) {
  var str = [];
  for (var key in obj) {
    if (obj.hasOwnProperty(key)) {
      if (Array.isArray(obj[key])) {
        for (var i=0;i<obj[key].length;i++) {
          str.push(encodeURIComponent(key) + "=" + encodeURIComponent(obj[key][i]));
        }
      } else {
        str.push(encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]));
      }
    }
  }
  return str.join("&");
}

我使用了http请求的代码,如下例所示:

  var payload={
    user_ID:2,
    action:'editpost',
    originalaction:'editpost',
    post_author:2,
    post_type:'post',
    original_post_status:'auto-draft',
    'post_category[]':[1,4,32]
  };
  options={
    method:'post',
    headers:cookies,
    payload:jsonToUrlencoded(payload),
  };
  var response = UrlFetchApp.fetch(url,options);