如何使用importrows方法的谷歌融合表API使用谷歌客户端API(gap)



有人知道如何使用google-API-javascript-client对fusionables API的importrows方法进行成功请求吗。我还有其他请求在工作,例如列出某个表的列。所以我很确定身份验证是好的。

function makeApiCall() {
gapi.client.load('fusiontables', 'v1', function() {
var request = gapi.client.fusiontables.column.list({
'tableId': tableId
});
request.execute(function(resp) {
alert(resp.totalItems);
});
});
}

这是我用来导入行的代码(不起作用)。为了清楚起见,我尝试在这里只导入一条记录:

function makeApiCallImportRows() {
gapi.client.load('fusiontables', 'v1', function() {
var request = gapi.client.fusiontables.table.importRows({
'tableId': tableId,
'uploadType' : 'media',
'resource': {
'media': {
'contentType': 'application/octet-stream',
'data': 'aa,1,ds,01-01-2013'
}
}
});
request.execute(function(resp) {
//only in ff:
alert(resp.toSource());
});
});
}

警报上写着:

({error:{errors:[{domain:"fusientables",原因:"badImportInputEmpty",message:"内容为空。"}],代码:400,消息:"内容为空的"}})

很明显,我的导入是空的。我的语法应该是什么?我在fusincontables文档中读到CSV数据应该在请求主体部分中指定,但我不知道如何使用gap javascript库来做到这一点。

对于感兴趣的人。这是一种方法:

function makeApiCallImportRows() { 
var request = gapi.client.request({
'path': '/upload/fusiontables/v1/tables/'+tableId+'/import',
'method': 'POST',
'params': {'uploadType': 'media'},
'headers' : {'Content-Type' : 'application/octet-stream'},
'body': '9,9,9,2013n8,8,8,2014n'
});
request.execute(function(resp) {
alert(resp.toSource());
});
}

最新更新