【问题标题】:Is there a RESTful Google Sheets API for reading rows from one sheet?是否有用于从一张表中读取行的 RESTful Google Sheets API?
【发布时间】:2015-10-02 09:41:53
【问题描述】:

这是我的 Google 表格,以逗号分隔:

ROW, TITLE
1, "Green eggs and ham"
2, "War and peace"
3, "Good Burger: The Movie: The Book"

我必须在浏览器中输入什么 URL 才能以 JSON 或 XML 格式获取这些数据?

【问题讨论】:

    标签: json xml rest google-sheets


    【解决方案1】:

    这个答案现在已经过时了!

    自从 Sheets API 更改为第 4 版后,这不再有效。

    这就是我获取 XML 的方法

    https://spreadsheets.google.com/feeds/list/yourSpreadsheetID/od6/public/values
    

    对于 JSON:

    https://spreadsheets.google.com/feeds/list/yourSpreadsheetID/od6/public/values?alt=json
    

    这是来自发布到网络上的电子表格。如果工作表未发布到网络上,我会收到错误消息:

    我们很抱歉。此文档未发布。

    这是我可以从文档中获得的信息。如有错误,请知道的朋友评论。

    Sheets REST API 的文档位于以下链接:

    Google Sheets API

    任何 REST Api 的工作方式是必须发出 HTTPS GET 或 POST 请求。如果您想使用 REST API,请不要查看其他语言(如 GO、Java、.NET 等)的客户端库。

    在不经过授权流程的情况下从电子表格中获取信息的唯一方法是将该电子表格发布到网络上。因此,如果您尝试使用 REST Api 从电子表格中获取不想发布到网络的数据,则需要通过授权流程。

    引自谷歌文档:

    当您的应用程序请求非公开用户数据时,它必须包含授权令牌。该令牌还会向 Google 识别您的应用程序。

    Authorizing Requests

    在浏览器地址栏中输入的 URL 是 GET 请求。任何需要 POST 请求的东西都不能在浏览器的地址栏中使用。即使可以在浏览器的地址栏中发出 GET 请求,一些 HTTP 请求仍然需要适当的授权标头。我认为您无法在浏览器的地址栏中执行此操作。

    【讨论】:

    • 这个答案不可靠,因为 google sheet api 已将其所有操作移至 v4 版本
    【解决方案2】:

    试试Sheetsu。您可以根据 Google 电子表格 url 生成 rest api。

    【讨论】:

      【解决方案3】:

      我想你正在寻找这个: https://developers.google.com/sheets/api/reference/rest/#rest-resource-v4spreadsheetsvalues

      REST 资源:v4.spreadsheets 方法

      batchUpdate     POST /v4/spreadsheets/{spreadsheetId}:batchUpdate Applies one or more updates to the spreadsheet.
      create          POST /v4/spreadsheets Creates a spreadsheet, returning the newly created spreadsheet.
      get             GET /v4/spreadsheets/{spreadsheetId} Returns the spreadsheet at the given ID.
      getByDataFilter     POST /v4/spreadsheets/{spreadsheetId}:getByDataFilter
      

      返回给定 ID 的电子表格。

      【讨论】:

        【解决方案4】:

        我自己一直在寻找解决方案并遇到了https://steinhq.com。它是一个开源解决方案和 SaaS。

        # Adds a row to spreadsheet
        $ curl "https://api.steinhq.com/v1/storages/5cc158079ec99a2f484dcb40/Sheet1" \
            -X POST \
            -H "Content-Type: application/json" \
            -d '[{"title": "...", "author": "...", ...}, ...]'
        

        【讨论】:

          【解决方案5】:

          我正在使用这项很棒的服务:nocodeapi.com

          实际上需要 5 分钟来设置所有内容并开始读/写 Google 表格:

          1. 将 URL 插入 Google 表格
          2. 授予访问权限
          3. 接收 API 端点以调用您的代码,完成!

          强烈推荐!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-03-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-02-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多