【发布时间】: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
这是我的 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
自从 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 的文档位于以下链接:
任何 REST Api 的工作方式是必须发出 HTTPS GET 或 POST 请求。如果您想使用 REST API,请不要查看其他语言(如 GO、Java、.NET 等)的客户端库。
在不经过授权流程的情况下从电子表格中获取信息的唯一方法是将该电子表格发布到网络上。因此,如果您尝试使用 REST Api 从电子表格中获取不想发布到网络的数据,则需要通过授权流程。
引自谷歌文档:
当您的应用程序请求非公开用户数据时,它必须包含授权令牌。该令牌还会向 Google 识别您的应用程序。
在浏览器地址栏中输入的 URL 是 GET 请求。任何需要 POST 请求的东西都不能在浏览器的地址栏中使用。即使可以在浏览器的地址栏中发出 GET 请求,一些 HTTP 请求仍然需要适当的授权标头。我认为您无法在浏览器的地址栏中执行此操作。
【讨论】:
试试Sheetsu。您可以根据 Google 电子表格 url 生成 rest api。
【讨论】:
我想你正在寻找这个: 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 的电子表格。
【讨论】:
我自己一直在寻找解决方案并遇到了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": "...", ...}, ...]'
【讨论】:
我正在使用这项很棒的服务:nocodeapi.com
实际上需要 5 分钟来设置所有内容并开始读/写 Google 表格:
强烈推荐!
【讨论】: