我需要使用 Sheets API 读取 Google 表格。我可以获取所有行,但是由于这些行数以万计并且将继续增长,因此我需要找到一种方法来过滤它们而不获取所有行。
我只需要一个带有一个或多个列的相等条件的 SQL WHERE 子句。例如,有一个phoneNumber 列,它是工作表中的C 列。我只需要获取该列的值等于某个值的行。
我目前正在使用 Google Sheets V4 API for Node.js 。我正在使用 get api ,但由于它只有 range
作为唯一可用的过滤器选项,我想尝试 getByDataFilter api假设它提供了某种过滤数据的方法。
不幸的是,getByDataFilter
API 中唯一的好方法是使用 GridRange在 DataFilter 。除了使用行和/或列范围之外,这仍然不允许我提供任何条件来过滤数据。
那么有什么方法可以在不获取所有行的情况下做到这一点吗?我无法修改该特定工作表。我现在能找到的唯一方法是在午夜运行一个 cron 作业,将数据与数据库同步,然后查询数据库。
有没有更好的方法来过滤数据?
最佳答案
您可以直接在网址上使用Google可视化查询:
如果您的网址是
docs.google.com/spreadsheets/d/id
并且您想要Select A,sum(B) group by A
,
使用:
docs.google.com/spreadsheets/d/id/gviz/tq?tq="your encoded query here"
https://docs.google.com/spreadsheets/d/1r8_mfnZAvTFmT02JHi1XgOwn_-sLCR9XgmR8wEQ4uW4/gviz/tq?tq=select%A%2C%20sum(B)%20group%20by%20A
<小时/>
- tq Authorization (不需要,如果电子表格设置为“任何有链接的人都可以查看”)
- Query 0.7 Reference
关于javascript - 根据列中的值过滤 Google 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49651836/