【问题标题】:How to handle structured queries for retrieving rows with Google Sheets API v4如何使用 Google Sheets API v4 处理结构化查询以检索行
【发布时间】:2017-07-16 18:13:29
【问题描述】:

我想开始将依赖 Google Spreadsheet API (v3) 的应用程序迁移到 Google Sheets API v4。但是,在我开始之前,我还有一个问题。

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

在查看 Google 的 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.

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

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

【问题讨论】:

    标签: google-sheets google-sheets-api


    【解决方案1】:

    我不需要参考文档,因为您已经知道了。 Sheetsv4 中没有这样的功能。您必须手动执行 Basic Reading methods 并解析响应,遍历它并筛选您正在寻找的值。

    这与您的SO question 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-13
      • 2018-11-08
      • 1970-01-01
      相关资源
      最近更新 更多