当前位置: 首页 > 知识库问答 >
问题:

使用基于列表的提要API和“sq”参数从Google电子表格检索一系列行

郎刚捷
2023-03-14

我的目标是在标准cURL调用(API的协议方法)中使用sq参数从Google工作表中检索一系列行。我知道Google Sheets文档通过示例解释了sq参数。在该文档示例中,它使用带有比较运算符的列标题名称,但是否有方法使用sq参数检索开始行和结束行索引指定的行范围?

我知道可以使用Google的可视化API来做类似的事情,但是我用来检索数据的Google Sheet的URL似乎需要“重建”以匹配可视化API所需的内容。我需要提取电子表格“键”,然后根据文档重建URL(滚动到底部)。作为一名开发人员,我有点厌倦了做任何字符串操作来构造URL,这样我就可以简单地从Google工作表中提取一系列行。

检索一系列行而不必求助于基于单元格的API提要的最佳实践是什么?

编辑:我查看了Google的查询语言参考(0.7版),发现使用offsetlimit可以用SQL语句获取一系列行。但是,当我尝试使用这些查询时,它不适用于url中的sq参数。当然,我也尝试了URL编码sq参数的值,但没有成功。似乎sq参数值只能引用基于列表的提要中的列标题。有人知道情况是否如此吗?在我的cURL调用中,以下是我尝试的一些URL(cURL请求经过身份验证):

https://spreadsheets.google.com/feeds/list/{key}/od6/private/full?sq=limit 3 offset 3//返回解析错误:null

https://spreadsheets.google.com/feeds/list/{key}/od6/private/full?sq=limit 3 offset 3//sq的URL编码值返回解析错误:null

https://spreadsheets.google.com/feeds/list/{key}/od6/私有/完整?sq="限制3偏移量3//返回超文本标记语言错误400(错误请求)!!作为

sq参数可以使用什么?谷歌,它在任何地方都有文档记录吗?


共有1个答案

仇高韵
2023-03-14

好的,在进一步探索之后,在阅读了David Bullock关于这个so线程的答案之后,我转向了Google的旧协议参考文档——API vesion 2.0。我通读了查询部分,很高兴地报告说,即使对于最新的API版本,start indexmax results参数仍然适用于基于列表的提要URL。

因此,假设您有一个指向特定工作表的href,该工作表有100行,例如,您可以使用类似这样的内容来检索第50行到第67行:

https://spreadsheets.google.com/feeds/list/{key}/od6/private/full?起始指数=50

虽然目前这是令人满意的,但从谷歌了解这些参数是否会被弃用将是件好事。我假设它们将被弃用,因为当前API留档中没有对它们的引用。如果能直接从谷歌那里听到,那就太好了,但现在我只使用这些经典参数。

 类似资料:
  • 我已经通过谷歌官方文档《开发者指南》API中提到的一个简单Java代码成功地在我的Google Drive帐户的现有电子表格中创建了一个新的工作表,但我想通过Java代码在我的Google Drive帐户中创建一个新的电子表格。在链接中,他们没有提到这方面的任何示例代码。我已经在Spreadservice类中看到了不同的可用方法。 如何使用Google电子表格API实现这一点?

  • 我们如何从谷歌电子表格中的单元格中获得价值? 我有行和列索引从

  • 我想使用GoogleSheetsAPI以编程方式创建一个GoogleSheet,将其公开,并将其嵌入网页上的IFRAME中。 我不知道如何使用API使电子表格对公众可见。创建或更新电子表格时,API中是否对此进行了设置? 我遵循谷歌的Python快速入门,能够创建和更新电子表格。 使用驱动器API,我可以公开电子表格,并且可以从其他帐户访问它。但是,这不允许您将其嵌入到网页中(它仍然声明“很抱歉,

  • 我有一个物品清单。每个对象都有一个级别属性(int 1、2或3)、一个城市属性(“New York”、“Milan”、“London”)和泛型字符串FamilyID。列表中对象的数量是随机的。我需要创建一个子列表(或任何其他集合/数据结构),它是由列表中的第一个对象组成的,具有级别和城市的任意组合(我不关心FamilyID)。 希望用一个例子让我的要求更清楚: 输出集合是具有(level,City

  • 我正在尝试访问Google API v3日历列表,但我不断收到401/404响应,尽管我为用户提供了有效的AccessToken (我完成了Web服务器应用程序的OAuth2协议,并收到https://www.googleapis.com/auth/calendar权限) 这方面很难找到好的文档,谷歌网站本身也不是很有帮助,搜索中充满了旧的v2信息或使用SDK。通常我可以将python回复翻译成c

  • 我正试图按照google官方文档,在Python3中读取和写入不同表单的值。尽管我能够使用在下面提到的代码块中: 我试图从这里使用示例代码编写值: 我面临的问题是,我无法从官方文档中保留最新的表名或id,因为最新的api修订版正在随机生成gid(我们可能不知道表gid是什么)。是否有任何方法可以使用google sheet api v4引用工作表列表或电子表格最新修订的工作表名称或id?