使用Google可视化API的Javascript Query.setQuery()到Google工作表会显示“请求ID缺失查询:未定义”

时间:2014-07-31 10:58:04

标签: javascript google-visualization google-sheets

我正在使用JavaScript Google可视化API来查询电子表格的表格。如果我没有指定特定的查询(或使用'select *'),这可以正常工作,但是在使用Query.setQuery('select ...')时,requestId似乎迷路了:

  

未捕获错误:缺少对请求ID的查询:未定义

代码:

    // 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

很抱歉,如果这是Noob问题,但似乎无法找到解决方案。 感谢

1 个答案:

答案 0 :(得分:1)

您的查询无效,您使用列标签,但必须使用column-identifiers:

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