Database 查询谷歌电子表格的特定表格
我正在尝试使用谷歌电子表格作为临时数据库。我已经按照以下教程中的说明进行了操作,一切正常 获取我在下面为ref复制的数据的jquery 我想知道(使用相同或类似的代码)是否可能,假设电子表格中有多个工作表,一次只查询一个。例如,您可以运行下面的代码,但仅限于第4页 我已经尝试在数字代码的末尾添加web URL中的sheet ref(即gid=1),以便 “?” 变成 “?” 但这不起作用,代码似乎只在第一页循环 有人能对此提出建议吗 非常感谢您的帮助Database 查询谷歌电子表格的特定表格,database,json,google-sheets,Database,Json,Google Sheets,我正在尝试使用谷歌电子表格作为临时数据库。我已经按照以下教程中的说明进行了操作,一切正常 获取我在下面为ref复制的数据的jquery 我想知道(使用相同或类似的代码)是否可能,假设电子表格中有多个工作表,一次只查询一个。例如,您可以运行下面的代码,但仅限于第4页 我已经尝试在数字代码的末尾添加web URL中的sheet ref(即gid=1),以便 “?” 变成 “?” 但这不起作用,代码似乎只在第一页循环 有人能对此提出建议吗 非常感谢您的帮助 <script type="text
<script type="text/javascript">
$(document).ready(function() {
//source file is https://docs.google.com/spreadsheet/ccc? key=0Ak0qDiMLT3XddHlNempadUs1djdkQ0tFLWF6ci1rUUE
$(function listBooks() {
$.getJSON( "https://spreadsheets.google.com/feeds/list/0Ak0qDiMLT3XddHlNempadUs1djdkQ0tFLWF6ci1rUUE/od6/public/values?alt=json-in-script&callback=?",
function (data) {
$('div#book-list').append('<ul class="items"></ul>');
$.each(data.feed.entry, function(i,entry) {
var item = '<span style="display:none">' + entry.id.$t + '</span>';
item += '<img src="http://covers.openlibrary.org/b/isbn/' + entry.gsx$isbn.$t + '-S.jpg"/>';
item += '<span class="meta"><a href="http://www.worldcat.org/isbn/' + entry.gsx$isbn.$t + '">' + entry.title.$t + '</a>';
item += '<br/>Author: ' + entry.gsx$author.$t;
if (entry.gsx$notes.$t) {
item += '<br/>Description: ' + entry.gsx$notes.$t;
}
$('.items').append('<li>' + item + '</span></li>');
});
});
});
});
</script>
$(文档).ready(函数(){
//源文件是https://docs.google.com/spreadsheet/ccc? 键=0AK0QDIMLT3XDHLNEMPADUS1DJDKQ0TFLWF6CI1RUUE
$(函数listBooks(){
$.getJSON(“https://spreadsheets.google.com/feeds/list/0Ak0qDiMLT3XddHlNempadUs1djdkQ0tFLWF6ci1rUUE/od6/public/values?alt=json-在脚本和回调中=?“,
函数(数据){
$('div#book list')。追加('ul class=“items”>);
$.each(data.feed.entry,函数(i,entry){
变量项=''+条目id.$t+'';
项目+='';
项目+='';
item+='
作者:'+entry.gsx$Author.$t;
如果(entry.gsx$notes.$t){
项目+='
说明:'+entry.gsx$notes.$t;
}
$('.items')。追加(''+item+' ');
});
});
});
});
好的,我为任何感兴趣的人提供了一个解决方案,尽管它不像我希望的那样明智
感谢下面的博客帖子
似乎特定工作表的id是URL的/od6/部分,od6是第一个默认工作表的默认名称
“?”
在上面的博文中,有一个例子说明了如果需要,如何找到特定工作表的ID。它似乎没有一个清晰的逻辑,但更改它将从特定的工作表中吐出数据,这样它就可以工作。我意识到这是一篇老文章,但我已经为此奋斗了一段时间。我制作了自己的库来处理这个问题,我希望这可以节省一些人很多时间的研究和使用谷歌api。一般的格式几乎与谷歌文档一字不差,为了保持简洁,我删除了错误检查。我在google文档中找不到的是如何查询不是第一个选项卡的选项卡。我想这就是我们在这里寻找的 基于你已经拥有的,这应该是答案
table\u name\u here/gviz/tq?sheet=tab\u name\u here
作为所有在你之后的人的一个例子:
https://docs.google.com/spreadsheets/d/17mbdvl1jVpqj42E3BSX34q9XUA2PbYubYKpVeypbHLA/gviz/tq?sheet=Sheet1
这可以用作下面代码中的表字符串
“选择*”
这可以用作下面代码中的查询字符串
在上下文中:
函数gimmeATable(){
var query=new google.visualization.query('table_string');
setQuery('query_string');
发送(handleQueryResponse);
}
函数handleQueryResponse(响应){
var data=response.getDataTable;
图纸(数据);
}
函数绘图表(数据){
var table=新的google.visualization.table(document.getElementById('div1');
table.draw(数据,{showRowNumber:true});
}
别忘了包括GoogleAPI和包类型。你只需要一张桌子
load(“可视化”、'1',{packages:['table']})代码>我尝试了这个,但它仍然显示第一个(默认)选项卡数据。有人能确认一下这个代码是怎么工作的吗?