我对此进行了彻底的研究,在这个网站上找到了很多答案,但却无法让它发挥作用。我肯定错过了什么。
我有以下公开表: 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
获取未发布文档的错误。
答案 0 :(得分:11)
正如agershun已经指出的那样,您需要发布该文档。请按照以下步骤操作:
1)文件菜单> 发布到网络
2)点击开始发布按钮
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>