【问题标题】:Google Docs Spreadsheet to JSON谷歌文档电子表格转 JSON
【发布时间】:2014-07-01 17:33:37
【问题描述】:

我看过很多关于这方面的文章,但它们似乎已经过时了,例如,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


    【解决方案1】:

    script 标记中的src 属性是无效链接(您可以通过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 上查看示例

    【讨论】:

    • 谢谢,它正在工作,你能不能用一个例子解释一下单元格或列表的用法,你提到 0d6 作为最左边的默认工作表,如何访问其他工作表以防万一,0d6 看起来像一些八进制给定工作表的代码。
    • 感谢编辑,但请解释“单元格”和“列表”之间的区别以及我们如何知道 0d6 指的是第一张表,我如何找到其余表的代码如果有的话
    • 阅读博客,我想我可以得到工作表ID,最后“单元格”或“列表”参数有什么区别,我如何使用它们
    • @user2727195 - 很高兴听到它正在工作...也许您不介意单击复选框以表明您已接受答案...
    【解决方案2】:

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

    在此处查看教程:https://apispark.com/docs/tutorials/google-spreadsheet

    【讨论】:

      【解决方案3】:

      您可以考虑使用替代此表单数据请求的方法,因为此方法已被弃用。 无论如何,您仍然可以使用另一种提要格式,您可以在以下位置看到这种替代方案: https://spreadsheets.google.com/feeds/worksheets/your-spreadsheet-id/private/full

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

      【讨论】:

        【解决方案4】:

        这里的另一个潜在解决方案是使用此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 格式查看您的数据(它实际上正在工作)

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

        为了安全起见,您应该将上述 github gist 中的代码 sheetAsJson.gs 部署为您自己的 Google Drive。

        【讨论】:

          【解决方案5】:

          您在上面有很多可能的答案。对于那些新来的,如果您正在寻找更受控制的 JSON 生成器,请查看以下要点:

          JSONPuller

          它接受一个电子表格并返回一个对象数组,其中您决定作为标题的行(默认为冻结的任何一行)

          干杯,

          【讨论】:

            【解决方案6】:

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

            File -&gt; Download -&gt; Comma-separated values

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

            【讨论】:

              猜你喜欢
              • 2011-07-30
              • 2011-03-31
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-02-22
              • 1970-01-01
              相关资源
              最近更新 更多