在 Fusion Tables 中导入行失败
Posted
技术标签:
【中文标题】在 Fusion Tables 中导入行失败【英文标题】:Import rows in Fusion Tables fails 【发布时间】:2013-05-18 22:36:35 【问题描述】:我似乎无法将行正确导入 Google Fusion。我总是收到 503 后端错误。我的 Google Apps 脚本代码如下。
var getDataURL = 'https://www.googleapis.com/fusiontables/v1/tables/tableID/import?key='+apiKey;
var ssDown = SpreadsheetApp.openById(Spreadsheet ID).getDataRange().getValues();
var 选项 = “方法”:“发布”, “contentType”:“应用程序/json”, “标题”: "授权" : "承载" + token, “接受”:“应用程序/json”, , '编码' = '自动检测', '有效负载' = ssDown.toString(); ;
var output = UrlFetchApp.fetch(getDataURL,options).getContentText();
【问题讨论】:
我一直看到这个后端错误,但在脚本上与 Fusion 表无关。看看 issue 2759 (code.google.com/p/google-apps-script-issues/issues/…) 响应来自 Fusion Tables,而不是 GAS。我已经复制了下面的错误。 [13-05-19 11:18:20:362 BST] "error": "errors": [ "domain": "global", "reason": "backendError", "message": "后端错误" ], "code": 503, "message": "后端错误" 【参考方案1】:问题是由于我的粗心编码造成的。正确的代码是:
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();
【讨论】:
以上是关于在 Fusion Tables 中导入行失败的主要内容,如果未能解决你的问题,请参考以下文章
Fusion Tables 图层 URL 请求限制(2048 个字符)
在点击事件时从 Google Fusion Tables 访问单个单元格值
Fusion Tables 不支持 CORS(跨源资源共享)?