【问题标题】:Unable to set value for Content-length when using Fusion tables API and Google Apps Script使用 Fusion tables API 和 Google Apps 脚本时无法设置 Content-length 的值
【发布时间】:2011-11-18 01:15:26
【问题描述】:

我有以下 Google Apps 脚本代码可将值 POST 到 Fusion 表:

function insertData(authToken){
  var sql="INSERT INTO 1558685(Constituency,Male Voters,Female Voters,Total Population) VALUES ('Langata',65000,5000,350000)";
  query = encodeURIComponent(sql); 
  var URL = "https://www.google.com/fusiontables/api/query/sql=" + query;
  var response = UrlFetchApp.fetch(URL,{method: "post",headers: {"Authorization": "GoogleLogin auth=" + authToken,"Content-Type": "text/html; charset=UTF-8",
                                                                 "Content-length": sql.length,}});

  Logger.log(response.getContentText());

}

每次运行此代码时,我都会收到以下错误: 提供了无效值的属性:Header:Content-length(第 36 行)

我已尝试删除“Content-length”标头,但收到有关 sql 参数不能为空

的错误

【问题讨论】:

    标签: google-apps-script google-fusion-tables


    【解决方案1】:

    尝试以下方法:

    function insertData(authToken){
      var sql="INSERT INTO 1558685 (Constituency,'Male Voters','Female Voters','Total Population') VALUES ('Langata',65000,5000,350000)";
      var query = encodeURIComponent(sql); 
      var URL = "https://www.google.com/fusiontables/api/query";
      var response = UrlFetchApp.fetch(URL, { 
        method: "post",
        headers: { "Authorization": "GoogleLogin auth=" + authToken },
        payload: "sql=" + query // this send the query in the body of the request
      });
    
     Logger.log(response.getContentText());
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-02
      • 2014-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多