如何使用Google-sheet-apisNode.js从Google-Sheet中提取特定行?

问题描述

我使用google-apis SDK进行开发。我可以使用sheets.spreadsheets.values.get方法从工作表中获取值。但是它从该工作表返回整个值。我需要过滤查询之类的东西。

这是我真正尝试的,

Sample Sheet Image

假设上述数据为电子表格,此处sheets.spreadsheets.values.get将从该工作表返回整个值。但我尝试通过[email protected]

获取第一行

解决方法

方法spreadsheets.values.get允许(并要求)您指定范围

range的样本值-用于获取Sheet1的第5行的值为Sheet1!A5:Z5

更新

如果您不知道要检索哪一行,但想合并查询请求(例如在Google表格用户界面中),则可以:

Google Sheets API无法使用。

但是有一种解决方法:

使用Google Visualization API query

工作流程:

  • 将电子表格发布为“知道链接的任何人都可以查看”
  • 通过以下方式创建URL
    • 获取电子表格https://docs.google.com/a/google.com/spreadsheets/d/XXXXXX的基本URL
    • 添加到URL /gviz/tq?tq=
    • 例如在表格用户界面中创建查询并对其进行URL编码
    • 将URL编码查询添加到您的URL
  • 使用结果网址执行简单的获取请求

示例:

如果您的查询是select A

  • URL为https://docs.google.com/spreadsheets/d/XXXXX/gviz/tq?tq=select%20A
  • 并且GET请求的响应将是:
google.visualization.Query.setResponse({"version":"0.6","reqId":"0","status":"ok","sig":"1023816999","table":{"cols":[{"id":"A","label":"","type":"number","pattern":"General"}],"rows":[{"c":[{"v":1.0,"f":"1"}]},{"c":[{"v":4.0,"f":"4"}]}],"parsedNumHeaders":0}});

您可以根据需要访问嵌套的JSON结构,当然也可以根据需要制定查询。