2013-05-18 49 views
0

我似乎无法正确地将行导入Google Fusion。我总是得到一个503后端错误。我的Google Apps脚本代码如下。在Fusion Tables中导入行失败

变种getDataURL = 'https://www.googleapis.com/fusiontables/v1/tables/{TABLEID} /进口键=?' + {apiKey};

var ssDown = SpreadsheetApp.openById({Spreadsheet ID})。getDataRange()。getValues();

变种选项= { “方法”: “后”, “的contentType”: “应用/ JSON”, “报头”:{ “授权”: “承载” + {令牌}, “Accept”:“application/json”, }, 'encoding'='auto-detect', 'payload'= ssDown.toString(); } };

var output = UrlFetchApp.fetch(getDataURL,options).getContentText();

+0

我已经看到这个后端错误,但在脚本无关与Fusion表。查看问题2759(https://code.google.com/p/google-apps-script-issues/issues/detail?id=2759) – Srik

+0

答案来自Fusion Tables,而不是GAS。我已经复制下面的错误。 [13-05-19 11:18:20:362 BST] { “错误”:{ “错误”:[{ “结构域”: “全局”, “原因”: “backendError” , “消息”: “后端错误” } ], “代码”:503, “消息”: “后端错误” } } – ajb1970

回答

0

这个问题是由我粗心的编码造成的。正确的代码是:

var getDataURL = 'https://www.googleapis.com/upload/fusiontables/v1/tables/{tableID}/import'; 
var options = { "method" : "post", 
       "contentType" : "application/octet-stream", 
       "headers" : { 
       "Authorization" : "Bearer " + {token}, 
       "Accept" : "application/json", 
       }, 
      } 
var ssDown = SpreadsheetApp.openById({sheetID}).getDataRange().getValues().toString(); 
options.payload = ssDown; 
var output = UrlFetchApp.fetch(getDataURL,options).getContentText();