在过去24小时内,谷歌应用程序脚本或可视化API的任何变化
Anything change with Google Apps Scripts or Visualization API in the last 24 hours?
2016年4月7日星期四中午左右,我失去了一个Google Script WebApps的所有新实例的功能。
我使用google.visualization.Query(
。。。from从JavaScript广泛调用,用于快速搜索大型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的属性"toJSON"。I.js:288xw@format+n,default+n,ui+n,corechart+en。I.js:283VM60 userCodeAppPanel:243
…
未捕获的类型错误:无法读取null的属性"toJSON"
…
在过去,我的谷歌应用程序脚本代码崩溃了几个小时,只是为了让功能自行恢复。有人知道API最近的任何更改可能会影响我的代码吗?我不认为它与浏览器有关,因为它在IE、Firefox和Chrome上都失败了。之前加载的一个正在工作的实例已加载到Chrome上。不可否认,我在这个文件中并没有太多的错误检查代码,但消除过程让我怀疑是否更新了应用程序脚本或可视化API。
谢谢
最大
我错误地加载了"Table"answers"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柱状图中使用的json对象内用数字替换字符串值
- 在过去24小时内,谷歌应用程序脚本或可视化API的任何变化
- Google可视化API中的逗号分隔数据
- Google可视化API-错误:未知标头类型:1
- 使用jQuery读取CSV以传递给Google可视化API
- 跟踪 Google 可视化 API 请求中的事件
- App Engine 上的 Google 可视化 API 存在问题
- 骨干视图 + 谷歌可视化 API
- 如何使用谷歌可视化API来检索谷歌电子表格单元格值
- 谷歌可视化 API — 百分比条
- Google可视化API调用多次权限被拒绝(IE)
- 在谷歌可视化api中将现有列设置为工具提示
- Javascript谷歌可视化api表undo排序
- x轴上单个日期的多个y轴值-谷歌可视化api
- 使用Google可视化API在Vaadin 7中显示图表
- Javascript query . setquery()使用Google可视化API对Google表单给出'请
- 使用jQuery, AJAX, Google可视化API和setTimeout()时浏览器内存泄漏
- 在Google可视化API中访问响应状态
- 可以't加载表在谷歌可视化API图表
- 显示谷歌可视化API在Fancybox (JS弹出)