Tabletop.js无法看到Google Spreadsheet数据

问题描述:

我试图让tabletop.js第一次工作。 Tabletop.js允许您使用Google电子表格作为网页的数据源。Tabletop.js无法看到Google Spreadsheet数据

当我运行我的代码,这是here on github

我得到以下错误:

GET https://spreadsheets.google.com/feeds/worksheets/0AppPPX-L4ABKdExWaVBqWFFuV …/basic?alt=json-in-script&callback=Tabletop.callbacks.tt136672522586174055 400 (Bad Request) tabletop.js:184

Tabletop.js线184全文如下:

document.getElementsByTagName('script')[0].parentNode.appendChild(script); 

在谷歌电子表格公开,并在这里:

https://docs.google.com/spreadsheet/ccc?key=0AppPPX-L4ABKdExWaVBqWFFuVnFYU0Y1OHUwc0dNb3c#gid=0

+0

... [0] .parentNode.appendChild(script); – 2013-04-23 14:24:16

即时投注它的错误在您的网址。

https://github.com/jsoma/tabletop

具体在哪里,它说:

在谷歌文档,然后去到文件菜单,并选择发布到网上。随意摆弄你想要的东西,然后点击开始发布。一个URL会出现,像https://docs.google.com/spreadsheet/pub?hl=en_US&hl=en_US&key=0AmYzu_s7QHsmdDNZUzRlYldnWTZCLXdrMXlYQzVxSFE&output=html

复制!理论上你对key =和&之间的部分感兴趣,但是如果你愿意,你可以使用整个事物。

+0

哦,我会尝试使用整个事情,并报告它,如果它的工作。谢谢! – 2013-04-23 15:30:36

+0

好吧,这是进步,因为它报告了新的和改进的错误,在这种情况下,“未捕获的TypeError:无法读取tabletop.js行75上的null属性''。以下是相关代码: '/ *你接受*/ 如果(/键= /测试(this.key)){ this.log( “你通过一个键作为URL尝试分析!”); this.key = this.key.match(“key =(。*?)&")[1];' – 2013-04-23 15:36:51

我没有证据证明这一点,但在Google Spreadsheet键中输入短划线可能会在Tabletop的末尾(编辑:或Google的结尾)弄脏一些东西。我的钥匙都没有破折号,并且将我的一张电子表格替换为您的代码可以给出正确的响应。

我正在浏览桌面的代码,但现在,它可能是值得的创建另一个谷歌电子表格,并希望它没有在其关键的破折号。

+0

呃!我要试一试! – 2013-04-23 15:40:08

+0

好吧,我有一个新的电子表格,其中没有短划痕:https:// docs.google.com/spreadsheet/ccc?key = 0AiT9esEM1Yc5dEp6MnRtT0cwNUJZOGgxY0FVNnV1RlE#gid = 0 当我使用整个URL时,第75行出现“Uncaught TypeError”错误;当我只使用密钥(我认为是0AiT9esEM1Yc5dEp6MnRtT0cwNUJZOGgxY0FVNnV1RlE)时,它会回到400错误。我应该包括#gid-0吗? – 2013-04-23 15:52:31

+0

刚刚通过添加#gid-0进行测试 - 没有任何区别。 – 2013-04-23 15:55:36

我想让你知道我从桌面开发者Jonathan Soma那里得到了答案。以下是他的解决方案的链接:https://twitter.com/dangerscarf/status/326878697284067329

事实证明,通过“分享”按钮公开制作电子表格与通过Google文档/云端硬盘中的文件菜单发布到网络不同。你必须同时做这些事情(使电子表格公开并将其发布到网上)以使其工作。

+0

是的我以为你的网址缺少?pub =但它已经有一段时间了,并认为它们可能已经改变了这一点。 – 2013-04-25 10:46:08