我的目标是使用标准cURL调用中的sq参数(API的协议方法)从Google工作表中检索一系列行。我知道the Google Sheets documentation explains the sq
parameter by way of example。在该文档示例中,它使用带有比较运算符的列标题名称,但有没有办法使用sq参数检索由开始和结束行索引指定的行范围?
我知道可以使用谷歌的可视化API来做这样的事情,但似乎我用来检索数据的Google Sheet的URL需要是& #34;重构"匹配Visualization API所需的。我需要提取电子表格" key"然后重建URL as per documentation (scroll to the bottom)。作为一名开发人员,我有点厌倦了进行任何字符串操作来制定一个URL,所以我只需从Google Sheet中提取一系列行。
检索一系列行而不必使用基于单元格的API Feed的最佳做法是什么?
编辑:
我查看了Google's Query Language reference (version 0.7),发现using offset
together with limit
could grab a range of rows with an SQL statement。但是,当我尝试使用这些查询时,它不适用于网址中的sq
参数。我尝试使用URL编码sq
参数的值来确定,但没有运气。似乎sq
参数值只能引用基于列表的Feed中的列标题。有人知道是不是这样吗?在我的cURL调用中,这里是我尝试过的一些URL(cURL请求已经过身份验证):
https://spreadsheets.google.com/feeds/list/{key}/od6/private/full?sq=limit+3+offset+3 //returns Parse error: null
https://spreadsheets.google.com/feeds/list/{key}/od6/private/full?sq=limit%203%20offset%203 //URL encoded value for sq returns Parse error: null
https://spreadsheets.google.com/feeds/list/{key}/od6/private/full?sq="limit 3 offset 3 //Returns HTML marked up error with Error 400 (Bad Request)!! as <title>
我们可以将sq
参数用于什么?是否记录在谷歌?
答案 0 :(得分:3)
好的,经过一番探索,并在David Bullock's上阅读this SO thread回答后,我前往Google's old Protocol Reference documentation - 申请API vesion 2.0。我仔细阅读了the Queries section,并很高兴地报告start-index
和max-results
参数仍适用于基于列表的供稿网址,即使是最新的API版本也是如此。
因此,假设你有一个具有100行的特定工作表的href,你可以使用这样的东西来检索第50行到第67行:
https://spreadsheets.google.com/feeds/list/{key}/od6/private/full?start-index=50&max-results=17
虽然目前这种情况令人满意,但是 很高兴知道Google是否会弃用这些参数。我假设它们将被弃用,因为当前的API文档中没有引用它们。很高兴直接听到谷歌,但现在我只会使用这些经典的参数。