Charts 谷歌图表-使用Spreadhseet源代码无法解析

Charts 谷歌图表-使用Spreadhseet源代码无法解析,charts,google-apps-script,google-sheets,google-visualization,Charts,Google Apps Script,Google Sheets,Google Visualization,使用谷歌的教程,将电子表格作为图表的数据,我创建了以下内容。 load('current',{packages:['corechart']}); google.charts.setOnLoadCallback(drawChart); 函数drawSheetName(){ var query=new google.visualization.query('https://docs.google.com/spreadsheets/d/15l3ZK45hv2ByOfkUiAKoKp-Z9a1u1-

使用谷歌的教程,将电子表格作为图表的数据,我创建了以下内容。


load('current',{packages:['corechart']});
google.charts.setOnLoadCallback(drawChart);
函数drawSheetName(){
var query=new google.visualization.query('https://docs.google.com/spreadsheets/d/15l3ZK45hv2ByOfkUiAKoKp-Z9a1u1-Q_rsLS7SqC51E/editgid=0&headers=1');
发送(handleQueryResponse);
}
函数handleQueryResponse(响应){
if(response.isError()){
警报('查询中的错误:'+response.getMessage()+'+response.getDetailedMessage());
返回;
}
var data=response.getDataTable();
var chart=new google.visualization.ColumnChart(document.getElementById('chart_div'));
绘制图表(数据,{高度:400});
}
}}
然而,没有图表解决,我已经公开了链接。 如果我共享链接,它是

跟踪文档,但不确定我的错误在哪里

这个关于drivesdk的更多答案是从一个新文件的脚本创建密钥,我不太理解它,也不知道如何为现有的电子表格获取正确的URL

如果能有一个统一的答案来获得正确的表单URL,那就太好了。

这就是你想要实现的目标吗

如果是,您可以检查它是如何工作的

编辑

由于我在评论中注意到您希望查询电子表格而不是使用整个电子表格,因此这是查询的逻辑

首先,以下是要查询的url的基本组件:

var BASE_URL = "https://docs.google.com/a/google.com/spreadsheets/d/";
var SS_KEY = "stringSS_Key";
var BASE_QUERY = "/gviz/tq?tq=";
var partialUrl = BASE_URL + SS_KEY + BASE_QUERY;
注意
BASE\u查询
变量

url的第一位位于
partialUrl
变量中。 然后,您需要使用google提供的。例如:

var queryToRun = 'select dept, sum(salary) group by dept';
然后需要对其调用
encodeURIComponent()
,并将其添加到部分URL。最后的URL将变为

var finalUrl = partialUrl + encodeURIComponent(queryToRun);
只有这样,您才能运行google.visualation.query,因为我怀疑您是有意的

var query = new google.visualization.Query(finalUrl);
这就是你想要达到的目标吗

如果是,您可以检查它是如何工作的

编辑

由于我在评论中注意到您希望查询电子表格而不是使用整个电子表格,因此这是查询的逻辑

首先,以下是要查询的url的基本组件:

var BASE_URL = "https://docs.google.com/a/google.com/spreadsheets/d/";
var SS_KEY = "stringSS_Key";
var BASE_QUERY = "/gviz/tq?tq=";
var partialUrl = BASE_URL + SS_KEY + BASE_QUERY;
注意
BASE\u查询
变量

url的第一位位于
partialUrl
变量中。 然后,您需要使用google提供的。例如:

var queryToRun = 'select dept, sum(salary) group by dept';
然后需要对其调用
encodeURIComponent()
,并将其添加到部分URL。最后的URL将变为

var finalUrl = partialUrl + encodeURIComponent(queryToRun);
只有这样,您才能运行google.visualation.query,因为我怀疑您是有意的

var query = new google.visualization.Query(finalUrl);

这个html应该在哪里使用?您想将图表显示为,还是单独作为?作为web应用程序,因为电子表格对话框只支持有限数量的图表。我刚刚创建了一个basic.html文件,并创建了一个python简单服务器。这个html应该在哪里使用?您想将图表显示为,还是单独作为?作为web应用程序,因为电子表格对话框只支持有限数量的图表。我刚刚创建了一个basic.html文件,并创建了一个python简单服务器。您好,谢谢,为什么您的服务器可以工作,而我的服务器是直接从教程中复制的呢?我错误地认为链接是错误的,因为这似乎是一个常见的问题,并且期望教程代码能够工作。是的,首先,链接是错误的。其次,在
chart.draw(数据,{height:400});}下有两个闭合的花括号。最后调用了
google.charts.setOnLoadCallback(drawChart)
绘图图
未定义。我在那里做的是使用
drawSheetName
。我希望这能回答你的问题。我在浏览器中咕哝着说:我以后如何才能正确获得链接,并在教程中添加了gid和标题。有没有一种方法可以用来检查有效性?嗨,谢谢,为什么我直接从教程中抄来的却没有用呢?我错误地认为链接是错误的,因为这似乎是一个常见的问题,并且期望教程代码能够工作。是的,首先,链接是错误的。其次,在
chart.draw(数据,{height:400});}下有两个闭合的花括号。最后调用了
google.charts.setOnLoadCallback(drawChart)
绘图图
未定义。我在那里做的是使用
drawSheetName
。我希望这能回答你的问题。我在浏览器中咕哝着说:我以后如何才能正确获得链接,并在教程中添加了gid和标题。你有没有办法检查有效性?