Google可视化API不尊重GID或图纸参数



我使用Google可视化Javascript API从Google Sheets加载图表并将其显示在div中。我的应用程序托管在Google应用程序引擎上。我使用参数gid=1为工作表提供URL,以指定第二个工作表,但显示的图表是第一个工作表。这是我的简化代码(基本上是文档中提供的示例代码):

// sheetUrl is the URL of the Google sheet, e.g., http://https://docs.google.com/a/google.com/spreadsheet/ccc?key=0AobNU9T3MusKdGFqRHNJYkFnb3RuSkt4QlE#gid=1
// divId is the id of the <div> element I'm displaying in
google.load('visualization', '1.0', {packages: ['table']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var query = new google.visualization.Query(sheetUrl);
query.send(handleQueryResponse);
}
function handleQueryResponse(response) {
var data = response.getDataTable();
var table = new google.visualization.Table(document.getElementById(divId));
table.draw(data);
}

您可以在URL中看到#gid=1。我还尝试过&gid=1&sheet='Volume',这是选项卡的名称,但当页面加载时,第一个选项卡中的数据会被呈现出来。

我注意到谷歌表单的URL在我上面的表格中,但也在这个表格中:

https://docs.google.com/spreadsheet/tq?key=0AobNU9T3MusKdGFqRHNJYkFnb3RuSkt4QlE

我还没有找到任何明确解释tq端点的文档。我尝试使用此表单中的URL,但在尝试加载图表时出现超时错误。有人遇到这个问题或对tq有见解吗?谢谢

编辑2014-02-17:

我已经更改了我的URL以使用tq端点,并尝试了以下参数:

#gid=1
&gid=1
#sheet=Volume
&sheet=Volume

当我在浏览器中查询url时:

https://docs.google.com/spreadsheet/tq?key=0AobNU9T3MusKdGFqRHNJYkFnb3RuSkt4QlE&sheet=Volume

我拿回了合适的床单。但是当我使用可视化API进行查询时,我得到了第一张表。

传递给可视化API的正确URL将与新的Google Sheets一起使用,其格式如下:

https://docs.google.com/spreadsheets/d/{key}/gviz/tq

可以使用gid查询参数传递要检索的工作表的ID。因此,如果您的gid为0,则URL将为:

https://docs.google.com/spreadsheets/d/{key}/gviz/tq?gid=0

你可以在这个错误报告中找到关于新旧谷歌表单URL格式的其他信息。

希望能有所帮助。

按工作表名称引用也与中一样

https://docs.google.com/spreadsheets/d/{key}/gviz/tq?sheet=MySheetName

确保电子表格是"新的"与"旧的"谷歌表格。我以为我的床单是新的,就用头撞了一下。一旦我创建了一个新的样式表并使用了donnapep答案,我就又开始工作了。然后,我确认使用sheet=sheetname也有效,这就是我真正想要的。

最新更新