我可以访问工作表中的该行并将其另存为JSON,从而得到一个内容为“ / O_o / google.visualization.Query.setResponse ...“,这是我无法在javascript中进一步处理的文件。
我看到:converting Google Visualization Query result into javascript array 解决方案似乎是:“如果在请求中添加名为X-DataSource-Auth的标头,则Visualization API将以JSON格式响应”。经过一天的搜索,我完全无法找到应该放置此类标头的位置及其语法。
但是那时我82岁,而且这东西一年比一年变得越来越困难……有人能指出我正确的方向吗?
答案 0 :(得分:1)
收到查询的响应后,
您可以将响应转换为Google data table。
var dataTable = response.getDataTable();
,并且Google数据表具有method,可将数据表转换为JSON。
var jsonData = dataTable.toJSON();
这将返回JSON字符串。
如果您随后想使用JavaScript使用JSON,
您可以解析字符串...
jsonData = JSON.parse(jsonData);
JSON将是具有两个属性cols
和rows
的对象。
您可以看到JSON结果here ...
有关使用以下代码的工作示例,请参见此小提琴...
https://jsfiddle.net/WhiteHat/5mu9wnbz/1/
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1M3wQgKg3JBF6_hzv1xWONP7HWVYoOvJ1jPbB27IUg94/gviz/tq?gid=0&headers=1');
query.send(function (response) {
if (response.isError()) {
console.log('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
};
var dataTable = response.getDataTable();
var jsonData = dataTable.toJSON();
jsonData = JSON.parse(jsonData);
document.getElementById('cols').innerHTML = jsonData.cols.length;
document.getElementById('rows').innerHTML = jsonData.rows.length;
console.log(jsonData);
});
});