从已发布的Google表格中获取JSON Feed

时间:2015-01-21 03:53:56

标签: json google-sheets

我对此进行了彻底的研究,在这个网站上找到了很多答案,但却无法让它发挥作用。我肯定错过了什么。

我有以下公开表: https://docs.google.com/spreadsheets/d/11CwVCfIiJHlC-PhaT_hD8aB1q77VwecCgOuwzyuwZkY/edit?usp=sharing 我粘贴了我的钥匙 https://spreadsheets.google.com/feeds/list/11CwVCfIiJHlC-PhaT_hD8aB1q77VwecCgOuwzyuwZkY/od6/public/values?alt=json

获取未发布文档的错误。

2 个答案:

答案 0 :(得分:11)

正如agershun已经指出的那样,您需要发布该文档。请按照以下步骤操作:

1)文件菜单> 发布到网络

enter image description here

2)点击开始发布按钮

enter image description here

3)加载您的网址,您将在JSON中看到它

注意:这是我的工作示例,与您的网址形成的网址完全相同,但发布的网址除外:https://spreadsheets.google.com/feeds/list/1qym45VIwM4ruaWDkqndaOBzgOMAhOsjZ7rL76wJrTkY/od6/public/values?alt=json

如果在完成所有这些操作后收到错误Invalid query parameter value for grid_id.,请参阅此帖子以获取解决方案: Retrieve Google Spreadsheet Worksheet JSON

答案 1 :(得分:4)

您可能需要publish电子表格,因为当我尝试使用您的密钥打开电子表格时,Google会说:

We're sorry. This document is not published.

要修复此问题,请选择Google Spreadsheets的“文件/发布到网络...”菜单并发布该表格。从对话框中复制URL并在代码中使用它。

请参阅下面的工作代码段,打开包含Tabletop库的类似电子表格。

var url='https://docs.google.com/spreadsheets/d/12VlQDuE1hgArpsJFBHlVbe4XN3CX5qwHvo-58ClMGzU/pubhtml';
alasql('SELECT * INTO HTML("#res",{headers:true}) FROM TABLETOP(?)',[url]);
<script src="https://cdn.rawgit.com/jsoma/tabletop/master/src/tabletop.js"></script>
<script src="http://alasql.org/console/alasql.min.js"></script>
<div id="res"></div>