使用 Google 可视化 API 到 Google 表格的 Javascript Query.setQuery() 给出 'Missing query for request id: undefined"

标签 javascript google-visualization google-sheets

我正在使用 JavaScript Google 可视化 API 来查询电子表格的表格。如果我不指定特定查询(或使用“select *”),则效果很好,但在使用 Query.setQuery('select ...') 时,requestId 似乎会丢失:

Uncaught Error: Missing query for request id: undefined

代码:

    // Load the Visualization API and the piechart package.
google.load('visualization', '1.0', {'packages':['corechart']});

// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(queryTable);

function queryTable() {
    var query = new google.visualization.Query(
      'https://docs.google.com/spreadsheets/d/129uqCEZksVwOSlqTYF7HVrnbOqD3HqPq-warEMvdur8/edit#gid=0');
    query.setQuery('select Date, Time, Name, Type, Preference'); // remove this line and it works
    query.send(handleQueryResponse);
}


function handleQueryResponse(response) {
    if (response.isError()) {
       alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
       return;
    }

    var data = response.getDataTable();
    var numrows = data.getNumberOfRows();
    var tableHtml = '<table width="320">';

    for (var row=0; row < numrows; row++) {

        var date = data.getValue(row, 0);
        var time = data.getValue(row, 1);
        var name = data.getValue(row, 2);
        var type = data.getValue(row, 3);
        var pref = data.getValue(row, 4);

        tableHtml += '<tr><td>' + name + '</td><td>' + type + '</td><td>' + pref + '</td>';
    }
    tableHtml += '</table>';
    $('#table').append(tableHtml);
}

测试电子表格可在此处查看: https://docs.google.com/spreadsheets/d/129uqCEZksVwOSlqTYF7HVrnbOqD3HqPq-warEMvdur8/edit?usp=sharing

抱歉,如果这是一个菜鸟问题,但似乎找不到解决方案。 谢谢

最佳答案

您的查询无效,您使用列标签,但必须使用列标识符:

query.setQuery("select A,B,C,D,E ");

关于使用 Google 可视化 API 到 Google 表格的 Javascript Query.setQuery() 给出 'Missing query for request id: undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25057165/

相关文章:

javascript - 比较两个罗盘轴承

php - MySql Inner Join 不在 Google Chart 中显示数据

css - 如何在谷歌时间线图表中将背景设置为透明?

google-apps-script - 用于添加和编辑/更新 Gmail 联系人的 Google 电子表格

javascript - 如何编写一个简单的计数 if 脚本

javascript - 如何使用 API V3 每页显示多个 Google map

javascript - Google map JavaScript - 将多个标记添加到一张 map

google-apps-script - (Gmail) 从电子表格发送电子邮件。如何添加带有图像的签名?

javascript - 当与零一起使用时,Replace() 产生 "Uncaught TypeError: undefined is not a function"

ruby-on-rails - Chartkick 在 localhost 上工作,但在 heroku 上显示 "loading"