Google Docs Spreadsheet to JSON

时间:2014-05-13 21:01:12

标签: javascript json google-sheets google-spreadsheet-api

我已经看过很多关于此的文章,但它们似乎已经过时了,例如,Google Docs电子表格网址都没有关键参数。我也读到了这个: JSON data from google spreadsheet

然后我读了这个来访问数据     https://developers.google.com/gdata/samples/spreadsheet_sample

我的电子表格存在于:     https://docs.google.com/spreadsheets/d/1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I/edit#gid=0

我已尝试使用此代码,我认为我的密钥或语法有问题,请指导修复。

<script src="http://spreadsheets.google.com/feeds/feed/1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I/worksheet/public/basic?alt=json-in-script&callback=importGSS"></script>

<script type="text/javascript">

    function importGSS(json) {
        console.log('finished');
    }
</script>

6 个答案:

答案 0 :(得分:11)

src标记中的script属性是无效链接(您可以通过viewing your link directly in a browser自行查看。)

网址的feed/key/worksheet部分右侧为key,但错误的feedworksheet

在网址中,将“feed”替换为“cells”(每个单元格的单独值)或“list”(每行的单独值)。

同时,将“worksheet”替换为“od6”(表示最左边或默认的工作表 - 请参阅this blog post以访问其他工作表)。

如果你view this new URL directly in a browser,你可以看到它返回一个有意义的值。

您的最终脚本标记可能如下所示:

<script src="https://spreadsheets.google.com/feeds/list/1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I/od6/public/values?alt=json-in-script&callback=importGSS"></script>

有关详细信息,您可以在Google Developers site

上查看示例

答案 1 :(得分:1)

APISpark PaaS具有基于GSpreadsheet创建和部署自定义JSON API的功能。这可能有助于您更好地控制Web API(CORS支持,身份验证,自定义域等)。

请参阅此处的教程:https://apispark.com/docs/tutorials/google-spreadsheet

答案 2 :(得分:0)

您可以考虑使用此工作表数据请求的替代方法,因为不推荐使用此方法。 无论如何,您仍然可以使用其他Feed格式,您可以在以下方面看到此替代方案: https://spreadsheets.google.com/feeds/worksheets/your-spreadsheet-id/private/full

在该结果中,您可以看到任何导出格式都可用。可以帮助您使用CSV或alt JSON可视化格式吗?

答案 3 :(得分:0)

此处另一个可能的解决方案是使用此https://gist.github.com/ronaldsmartin/47f5239ab1834c47088e来包装现有的电子表格。

idsheet html参数添加到以下网址中。

  

https://script.google.com/macros/s/AKfycbzGvKKUIaqsMuCj7-A2YRhR-f7GZjl4kSxSN1YyLkS01_CfiyE/exec

例如:您的id是您的工作表ID

1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I

和您的工作表

Sheet1

在你的情况下,你可以在这里以json at

看到你的数据(它实际上正在工作)

https://script.google.com/macros/s/AKfycbzGvKKUIaqsMuCj7-A2YRhR-f7GZjl4kSxSN1YyLkS01_CfiyE/exec?id=1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I&sheet=Sheet1

为安全起见,您应该将上面的github gist中的代码sheetAsJson.gs部署为您自己的Google云端硬盘。

答案 4 :(得分:0)

上面你有很多可能的答案。对于那些重新出现的人,如果你正在寻找一个更受控制的JSON生成器,请查看这个要点:

JSONPuller

它接收一个电子表格并返回一个对象数组,你决定作为标题的行(默认为冻结的行)

干杯,

答案 5 :(得分:-1)

对我来说最简单的方法是将电子表格导出为 CSV

File -> Download -> Comma-separated values

然后只需使用免费在线服务将 CSV 转换为 JSON