我正在创建一个Google Charts信息中心,我将把Google Site作为“Apps脚本小工具”。仪表板将有多个过滤器/图表,但我只包含一个过滤器和一个气泡图表,以便在此时保持简单。此外,信息中心的数据源为this Google Spreadsheet。
为此,我创建了一个doGet()脚本,该脚本使用HTMLService返回将包含在Google网站中的HTML / Javascript。 Here is the link to the script file.请注意,HTMLService从“index2”创建输出(我只是使用“index”文件进行测试)。
And here is the link to the web app.您可以看到当前错误是:“表没有列”和“一个或多个参与者未能绘制。”
我非常确定问题是Web应用程序没有正确读取JSON,因此未设置DataTable(最终,无法绘制仪表板)。我尝试了一些不成功的事情。首先,我尝试查询电子表格以创建DataTable,但我无法使其工作(此尝试目前已在“index2”文件中注释掉)。然后我尝试将电子表格数据作为JSON提要,但我无法使其工作(这是对“index2”文件的当前尝试)。但是,似乎JSON输出基于this url是正确的,但可能不正确。
生成DataTable的Web应用程序中的代码片段为:
var jsonData = $.ajax({
url: "https://spreadsheets.google.com/feeds/list/18xblHu4aYK-iNNP0aLPNvQugi06VISmKtee-MDvc2mM/od6/public/values?alt=json-in-script",
dataType:"json",
async: false
}).responseText;
var data = new google.visualization.DataTable(jsonData);
显然,数据表未正确创建。思考?我错过了什么?感谢。