2017-02-26 96 views
1

我想开始将依赖Google Spreadsheet API(v3)的应用程序迁移到Google Sheets API v4。然而,在我开始之前,我还有一个问题仍然存在。如何处理使用Google Sheets API v4检索行的结构化查询

在Google Sheets API v3中,我可以使用请求URL中的sq参数获得结构化查询的基于行的Feed。如果工作表有10000行,并且我只需要在特定列中获取具有特定值的行,这将非常有用。速度方面也非常有效。

在看谷歌的迁移指南,以V4,我发现在“检索行数据”这一说法:

The Sheets API v4 does not currently have a direct equivalent for the Sheets 
API v3 structured queries. However, you can retrieve the relevant data and 
sort through it as needed in your application. 

我如何去从有效地考虑到10000行的表中检索“相关数据”在v4 API中没有结构化查询。我宁愿不必检索所有10000行来筛选该响应。特别是因为它会减慢我的应用程序,并可能增加通过电线发送的数据量。

使用v4 API,我如何检索在特定列(或一组列)中具有特定值的行?

回答

1

我不需要参考文档,因为您已经意识到了这一点。在Sheetsv4中没有这种功能。您必须手动执行Basic Reading methods并解析响应,循环播放并筛选您要查找的值。

这与您的SO question here有关。我已经在那里写了一些代码,所以我只是在这里发布结果,以便您了解我是如何搜索值的。

enter image description here

为取得用于phone,我通过JSON响应循环:

arrayBuffer = xhr.response; 
      console.log("arrayBuffer "+ arrayBuffer); 
      myArr = JSON.parse(arrayBuffer); 

       for(var i = 0; i < myArr.values.length; i++){ 

       if(myArr.values[0][i] === "phone"){ 
        console.log("column position is " + (i+1)); // +1 because counting starts at 0 
       } 
       } 

您也可以提交Feature Request here

相关问题