Google Docs Spreadsheet to JSON

问题描述 投票:12回答:5

我已经看过很多关于此的文章,但它们似乎已经过时了,例如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>
javascript json google-sheets google-spreadsheet-api
5个回答
11
投票

你的src标签中的script属性是一个无效的链接(你可以通过viewing your link directly in a browser自己看到这个)。

URL的feed/key/worksheet部分有正确的key但错误的feedworksheet

在URL中,将“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
投票

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

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


0
投票

您可以考虑使用工作表数据的此请求的替代方法,因为不推荐使用此方法。无论如何,你仍然可以使用另一种饲料格式,你可以在:https://spreadsheets.google.com/feeds/worksheets/your-spreadsheet-id/private/full中看到这种替代品

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


0
投票

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

idsheet html参数添加到下面的URL中。

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云端硬盘中的代码。


0
投票

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

JSONPuller

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

干杯,

© www.soinside.com 2019 - 2024. All rights reserved.