Javascript 在过去的24小时内,谷歌应用程序脚本或可视化API有什么变化吗?

Javascript 在过去的24小时内,谷歌应用程序脚本或可视化API有什么变化吗?,javascript,google-apps-script,google-visualization,Javascript,Google Apps Script,Google Visualization,2016年7月4日星期四中午左右,我失去了我的一个谷歌脚本网络应用程序的所有新实例的功能 我广泛使用JavaScript调用的google.visualization.Query(…from),以便快速搜索大型google Sheets文件 在撰写本文时,一个以前加载的webapp实例仍在成功运行,但所有新加载的实例都失败了。我已经提取了该工作实例的源代码,它与未运行的实例相同。我创建了一个新项目和新项目实例(代码相同)在所有浏览器中也会失败 我很困惑 这是一段我怀疑的代码。它是一个递归函数,查

2016年7月4日星期四中午左右,我失去了我的一个谷歌脚本网络应用程序的所有新实例的功能

我广泛使用JavaScript调用的
google.visualization.Query(
…from),以便快速搜索大型google Sheets文件

在撰写本文时,一个以前加载的webapp实例仍在成功运行,但所有新加载的实例都失败了。我已经提取了该工作实例的源代码,它与未运行的实例相同。我创建了一个新项目和新项目实例(代码相同)在所有浏览器中也会失败

我很困惑

这是一段我怀疑的代码。它是一个递归函数,查询一个电子表格上的两个工作表(构建和构建),然后从另一个电子表格(存档)中查询另一个工作表,并将结果设置为3个数据表

function queryThings(response)
{
    // If this is the first call to query 
    if(response == null)
    {
        sessionStorage.setItem("qIndex_H", "0");

        // Building Query
        var query = new google.visualization.Query(s_thingsBuilding + '&tq=select+*+where+LOWER(' + key1 + ')+contains+%27' + sessionStorage.getItem("stringInput") + '%27');
        query.send(querythings);

        return;
    }

    // if This is the second call
    if(sessionStorage.getItem("qIndex_H") == "0")
    {
        sessionStorage.setItem("qIndex_H", "1");

        //Store build sheet dataTable in sessionStorage 
        sessionStorage.setItem("thingTable1", response.getDataTable().toJSON());

        // Show or hide the div
        if(response.getDataTable().getNumberOfRows() > 0)
            $("#thingsBuilding").show();
        else
            $("#thingsBuilding").hide();

        var query = new google.visualization.Query(s_thingsBuilt + '&tq=select+*+where+LOWER(' + key1 + ')+contains+%27' + sessionStorage.getItem("stringInput") + '%27');
        query.send(querythings);

        return;
    }

    // if This is the third call
    if(sessionStorage.getItem("qIndex_H") == "1")
    {           
        sessionStorage.setItem("qIndex_H", "2");

        //Store build sheet dataTable in sessionStorage 
        sessionStorage.setItem("thingTable2", response.getDataTable().toJSON());

        // Show or hide the div
        if(response.getDataTable().getNumberOfRows() > 0)
            $("#thingsBuilt").show();
        else
            $("#thingsBuilt").hide();

        var query = new google.visualization.Query(s_thingsArchive + '&tq=select+*+where+LOWER(' + key1 + ')+contains+%27' + sessionStorage.getItem("stringInput") + '%27');
        query.send(querythings);

        return;
    }

    sessionStorage.setItem("qIndex_H", "0");

    var dt1 = new google.visualization.DataTable(sessionStorage.getItem("thingTable1"));
    var dt2 = new google.visualization.DataTable(sessionStorage.getItem("thingTable2"));

    // Show or hide the div
    if(response.getDataTable().getNumberOfRows() > 0)
        $("#thingsArchive").show();
    else
        $("#thingsArchive").hide();

    if(dt1.getNumberOfRows() + dt2.getNumberOfRows() + response.getDataTable().getNumberOfRows() == 0)
        $("#thingsDiv").hide();

    setTable_DT(dt1, "thingsBuilding");
    setTable_DT(dt2, "thingsBuilt");
    setTable_DT(response.getDataTable(), "thingsArchive");
}
控制台输出:

未捕获错误:缺少对请求id:0VM60 userCodeAppPanel:170的查询
未捕获类型错误:无法读取nullqueryThings@VM60 userCodeAppPanel:170R.eC@format+en,default+en,ui+en,corechart+en.I.js:288xw@format+en,default+en,ui+en,corechart+en.I.js:283(匿名函数)@format+en,default+en,ui+en,corechart+en,corechart+en.I.js:287
VM60 userCodeAppPanel:243

未捕获的TypeError:无法读取null的属性“toJSON”

在过去,我的谷歌应用程序脚本代码崩溃了几个小时,只是为了让功能自行恢复。有人知道API最近有什么变化可能会影响到我的代码吗?我认为这与浏览器无关,因为它在IE、Firefox和Chrome上出现故障。以前加载的实例的工作实例加载在Ch不可否认,我在这个文件中没有太多错误检查代码,但消除过程让我怀疑应用程序脚本或可视化API的更新

谢谢
Max

我错误地加载了“Table”和“Corechart”可视化软件包

诚然,这是相当草率的,但我仍然不知道为什么它在昨天起作用,而不是今天

google.load('visualization', '1', {packages: ['corechart']});
google.load("visualization", "1.1", {packages:["table"]});
被替换为

google.load("visualization", "1.1", {packages:["table", "corechart"]});

我的猜测是“Corechart”软件包被“Table”写得太多了包。

不要认为这是可视化API,目前正在构建一个仪表板,在4/7天内运行良好。事实是,我的代码编写得很糟糕。但一定是有一个更改导致了此问题的出现。我非常有兴趣听到任何关于此更改可能是什么的见解。