Google visualization 将Google可视化查询结果转换为JSON

Google visualization 将Google可视化查询结果转换为JSON,google-visualization,google-query-language,Google Visualization,Google Query Language,我是一名初学者,尝试在Javascript应用程序中使用以下工具阅读谷歌工作表: 我可以访问我的工作表中的那一行,并将其保存为JSON,从而提供一个内容标题为“/O_O”的文件/ google.visualization.Query.setResponse…”这是我无法用javascript进一步处理的文件 我从中看到: 解决方案似乎是:“如果在请求中添加名为X-DataSource-Auth的头,可视化API将以JSON格式响应”。经过一天的谷歌搜索,我很难找到我应该把这样的标题放在哪里,它的

我是一名初学者,尝试在Javascript应用程序中使用以下工具阅读谷歌工作表:

我可以访问我的工作表中的那一行,并将其保存为JSON,从而提供一个内容标题为“/O_O”的文件/ google.visualization.Query.setResponse…”这是我无法用javascript进一步处理的文件

我从中看到: 解决方案似乎是:“如果在请求中添加名为X-DataSource-Auth的头,可视化API将以JSON格式响应”。经过一天的谷歌搜索,我很难找到我应该把这样的标题放在哪里,它的语法应该是什么


但我已经82岁了,这件事一年比一年难。。。有人能给我指出正确的方向吗?

一旦收到查询的响应,
您可以将响应转换为google

google数据表有一个将数据表转换为JSON的方法

var jsonData = dataTable.toJSON();
这将返回一个JSON字符串

如果您希望使用JavaScript处理JSON,
您可以解析字符串

jsonData = JSON.parse(jsonData);
JSON将是一个具有两个属性的对象,
cols
rows

您可以看到JSON结果的示例

请参阅此提琴,了解使用以下代码的工作示例


谢谢你。您的数据演示效果良好。当我运行代码时,第一行“google.charts.load('current',{”给出此错误:test.js:3 Uncaught ReferenceError:google未定义。通过google搜索此错误不会产生任何修复,但我假设我缺少一个库。是的,需要添加-->
此问题运气好吗?我没有回答,因为我认为在最近的修复失败后我占用了您太多的时间。我尝试了其他几种可能的解决方案包括图表后的最新错误如下:未能加载资源:net::ERR_Failed jsapi_compiled_default_module.js:251未捕获错误:错误处理查询:XhrHttpError:Request Failed,status=0,url=at jsapi_compiled_default_module.js:379 at e.XD(jsapi_compiled_default_module.js:258)at gvjs_ok(jsapi_compiled_default_module.js:261)在gvjs_lk(jsapi_compiled_default_module.js:261)在gvjs_bk.Nna(jsapi_compiled_default_module.js:260)在gvjs_$j(jsapi_compiled。。。
jsonData = JSON.parse(jsonData);
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);
  });
});